Main Page | Packages | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

HTMLFitWriter Class Reference

Inheritance diagram for HTMLFitWriter:

Inheritance graph
[legend]
Collaboration diagram for HTMLFitWriter:

Collaboration graph
[legend]
List of all members.

Detailed Description

Class for handling HTML output for Fits.

Author:
Jon Butterworth
Version:
Date
2006-03-20 13:41:50 +0000 (Mon, 20 Mar 2006)
Revision
1054

Definition at line 39 of file HTMLFitWriter.java.


Public Member Functions

 HTMLFitWriter (PrintWriter out, String newServletPath)
 HTMLFitWriter (BufferedWriter out, String newServletPath)
 HTMLFitWriter (String filename, String newServletPath)
void endFitPage (String forward, String back)
void writeFitEditForm (String fitId)
void startPaperComparison (Paper paper, Fit fit1, Fit fit2)
void endPaperComparison ()
void makeComparison (Fit fit1, Fit fit2)
void display (Fit fit) throws JetWebException
void display (Object object) throws JetWebException
void setNumberFormat (NumberFormat form)
void setDateFormat (SimpleDateFormat form)
BufferedWriter getWriter ()
void close ()
void setHidden (boolean hide)
void setModifiable (boolean mod)
void setVerbose (boolean verb)
void startControlForm ()
void startControlForm (String message)
void startForm ()
void endForm ()
void searchByXML ()
void makeActionButtons ()
void makeSubmitButtons ()
void makeRequestForm (ResultSearchPattern pattern) throws JetWebException
void makeControlForm ()
void writeOkCancel ()
void writeDirChoiceForm (String suggestion)
void listPendingJobs ()
void listHiddenPars (ResultSearchPattern pattern)
void forwardTo (String htmlPath)
void writeInputId (String text, String name, String hover, Integer id) throws JetWebException
void makeCommonForm (ResultSearchPattern pattern) throws JetWebException
synchronized void displayList (List<?> list) throws JetWebException
void write (String str) throws JetWebException
void endListPage (String resultKey)
void writeTopMessage (String message) throws JetWebException
void writeTitle (String title) throws JetWebException

Static Public Member Functions

void writeFitPage (Fit fit)
void writeCompareFitsPage (String fitId1, String fitId2, PrintWriter out, String servletPath) throws JetWebException
HTMLWriter makeWriter (PrintWriter out, String newServletPath, Object o) throws JetWebException

Protected Member Functions

void openForm (String method, String action) throws IOException
void openForm (String method, String action, String extra) throws IOException
void openForm () throws IOException
void closeForm () throws IOException

Protected Attributes

String servletPath
BufferedWriter ofile
SimpleDateFormat dateFormat
boolean modifiable = false
boolean hidden = false
boolean verbose = false
Integer forms_ = 0

Static Protected Attributes

final int LISTLENGTH = 10
NumberFormat dform

Private Member Functions

void writeVerbose (Fit fit) throws JetWebException
void comparePlots (Paper paper1, Paper paper2, Fit fit1, Fit fit2)

Constructor & Destructor Documentation

HTMLFitWriter PrintWriter  out,
String  newServletPath
 

Start a new html stream. This does nothing except assign the output stream and the path which will be used to refer back to the current servlet. This version writes output to the given PrintWriter.

Parameters:
out - output writer
newServletPath required for links back

Definition at line 50 of file HTMLFitWriter.java.

Referenced by HTMLFitWriter.writeCompareFitsPage(), and HTMLFitWriter.writeFitPage().

00050                                                                  {
00051 
00052     super(out,newServletPath);
00053     
00054     }

HTMLFitWriter BufferedWriter  out,
String  newServletPath
 

Definition at line 56 of file HTMLFitWriter.java.

00056                                                                     {
00057 
00058     super(out,newServletPath);
00059     
00060     }

HTMLFitWriter String  filename,
String  newServletPath
 

Start a new html stream. This does nothing except assign the output stream and the path which will be used to refer back to the current servlet. This version writes output to the given file. (Deletes any existing file with the same name).

Parameters:
filename for output file
newServletPath required for links on output html page

Definition at line 72 of file HTMLFitWriter.java.

00072                                                                  {
00073 
00074     super(filename,newServletPath);
00075 
00076     }


Member Function Documentation

void close  )  [inherited]
 

Method to close the buffered writer.

Definition at line 196 of file HTMLWriter.java.

Referenced by HTMLUtils.displayList(), HTMLUtils.displayListContinued(), Searcher.doGet(), Maintainer.doGet(), ServletUtils.editFit(), HTMLFitWriter.endFitPage(), HTMLUtils.listPendingJobs(), FileUploader.upload(), HTMLFitWriter.writeCompareFitsPage(), HTMLUtils.writeControlScreen(), HTMLFitWriter.writeFitPage(), HTMLUtils.writeJobRequestForm(), HTMLPaperWriter.writePaperScreen(), HTMLUtils.writeParameterScreen(), HTMLUtils.writeProcScreen(), HTMLUtils.writeQueryScreen(), and HTMLUtils.writeSelectPlotsPage().

00196                        {
00197 
00198     try {
00199         ofile.close();
00200     }    
00201     catch (IOException e) {
00202         System.out.println("Could not open file "+e);
00203     }
00204     System.out.println("Done");
00205     }

void closeForm  )  throws IOException [protected, inherited]
 

closes the form tag if: number of forms we tried to open - number we tried to close = 1

Definition at line 1029 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by HTMLProcessWriter.addNewProcess(), HTMLProcessWriter.display(), HTMLPlotWriter.display(), HTMLPaperWriter.display(), HTMLModelWriter.display(), HTMLFitWriter.display(), HTMLFitWriter.writeFitEditForm(), HTMLPaperWriter.writePaperForm(), and HTMLFitWriter.writeVerbose().

01030                        {
01031     if(forms_<=0) return;
01032     --forms_;
01033     if(forms_==0){
01034         ofile.write("</form>");
01035         formAction_ = "";
01036     }
01037 
01038     return;
01039     }

void comparePlots Paper  paper1,
Paper  paper2,
Fit  fit1,
Fit  fit2
[private]
 

Compare plots in 2 collections of papers. If there is a matching Paper in mcPapers2 for each Paper in mcPapers1, compare chi2/dof for each plot in each Paper.

Definition at line 501 of file HTMLFitWriter.java.

References Paper.getChi2(), Fit.getId(), DataPlot.getId(), Paper.getIndexedPlots(), HTMLWriter.getWriter(), and HTMLFitWriter.startPaperComparison().

Referenced by HTMLFitWriter.makeComparison().

00502                                     {
00503 
00504     Map plots1 = paper1.getIndexedPlots();
00505     Map plots2 = paper2.getIndexedPlots();
00506 
00507     Iterator ids = plots1.keySet().iterator();
00508 
00509     if (ids.hasNext()){
00510         startPaperComparison(paper1,fit1,fit2);
00511 
00512         while (ids.hasNext()){
00513         Integer key=(Integer)ids.next();
00514         if (plots2.containsKey(key)){
00515             DataPlot plot1 = (DataPlot)plots1.get(key);
00516             DataPlot plot2 = (DataPlot)plots2.get(key);
00517 
00518             double[] c21 = {0.0,1.0};
00519             double[] c22 = {0.0,1.0};
00520             try{
00521             c21 = DBPlotManager.getChi2(plot1.getId(),fit1.getId());
00522             c22 = DBPlotManager.getChi2(plot2.getId(),fit2.getId());
00523             } catch (Exception e){
00524             System.out.println("Fit: problem finding Chi2 for plot"+plot1.getId()+" or plot"+plot2.getId());
00525             }
00526             
00527             double val1 = 0;
00528             double val2 = 0;
00529 
00530             //System.out.println("Chi2 1:"+c21[0]+":"+c21[1]+" Chi2 2:"+c22[0]+":"+c22[1]);
00531             try {
00532             val1 = c21[0]/c21[1];
00533             } catch (Exception e){
00534             }
00535             try {
00536             val2 = c22[0]/c22[1];
00537             } catch (Exception e){
00538             }
00539             HTMLPlotWriter.writePlotComparison(this.getWriter(),plot1,val1,val2);
00540 
00541         }
00542         }
00543     }   
00544     }

void display Object  object  )  throws JetWebException
 

Override Object display.

Reimplemented from HTMLWriter.

Definition at line 699 of file HTMLFitWriter.java.

References HTMLFitWriter.display().

00699                                                               {
00700     
00701     if (object instanceof Fit){
00702         display((Fit)object);
00703     } else {
00704         throw new JetWebException("Attempt to display "+object,"Using "+this);
00705     }
00706     }

void display Fit  fit  )  throws JetWebException
 

Display a fit.

Definition at line 552 of file HTMLFitWriter.java.

References HTMLWriter.closeForm(), HTMLWriter.openForm(), and HTMLFitWriter.writeVerbose().

Referenced by HTMLFitWriter.display(), Searcher.doGet(), and ServletUtils.editFit().

00552                                                         {
00553 
00554     try { 
00555 
00556         Integer fitId;
00557         if (fit==null) {
00558         fitId = null;
00559         } else {
00560         fitId = new Integer(fit.getId());
00561         }
00562         
00563         ofile.write("<div class='jetweb-fit'>");
00564         
00565         if (verbose) {
00566         ofile.write("<p>A fit is the result of comparing predictions of a specific <em>model</em> to a <em>selection of data</em></p>");  
00567         }
00568 
00569         // The Fit ID   
00570         if (!hidden) {
00571         ofile.write("Fit ID: ");
00572         ofile.write(fitId.toString());
00573         } 
00574         if (hidden || (!modifiable && fitId != null)) {
00575         ofile.write("<input type='HIDDEN' name='FITID' value='"+fitId+"'>");
00576         }
00577 
00578 
00579         if (fit != null) {
00580 
00581         //ofile.write(" Date: "+dateFormat.format(fit.getDate()));
00582 
00583         ofile.write(" Scale: "+dform.format(fit.getScale()));
00584         
00585         ofile.newLine();
00586 
00587         // Writing the total chi2.
00588         if (!fit.getSelection().isDefaultSum()){
00589             ofile.write(" Chi2 for your selected plots: "
00590                 +dform.format(fit.getChi2()[0]/fit.getChi2()[1]));
00591         } else {
00592             ofile.write(" Chi2 for default plots: "
00593                 +dform.format(fit.getChi2()[0]/fit.getChi2()[1]));
00594         }
00595         ofile.newLine();
00596 
00597         if (!verbose) {
00598 
00599             openForm("POST", JetWebConfig.searchServletPath);
00600             ofile.write("<input type='HIDDEN' name='FITID' value='"+fit.getId()+"'>");
00601             ofile.write(HTMLUtils.writeSubmitButton("FITIDGET",
00602                                 "Show more details for this fit",
00603                                 "Details"));
00604             closeForm();
00605 
00606             ofile.write(" <A href='"+JetWebConfig.getHTMLRoot()
00607                 +"/"+JetWebConfig.plotCacheDirName
00608                 +"/"+fit.getId()
00609                 +"/index.html'>Full details</A> ");
00610 
00611 
00612         } else {
00613 
00614             openForm("POST", JetWebConfig.searchServletPath);
00615             ofile.write("<input type='HIDDEN' name='PLOTSELECTIONID' value='"+fit.getPlotSelection().getId()+"'>");
00616             ofile.write(HTMLUtils.writeSubmitButton("PLOTSELECTIONIDGET",
00617                                 "Show which data were used in this fit",
00618                                 "Data Selection"));
00619             closeForm();
00620             
00621             openForm("POST", JetWebConfig.searchServletPath);
00622             ofile.write("<input type='HIDDEN' name='MODELID' value='"+fit.getModel().getId()+"'>");
00623             ofile.write(HTMLUtils.writeSubmitButton("MODELIDGET",
00624                                 "Show the model used in this fit",
00625                                 "Model"));
00626             closeForm();
00627 
00628             // More details.
00629             writeVerbose(fit);
00630 
00631         }
00632 
00633         }
00634     
00635         ofile.write("</div>");
00636 
00637         //} catch (JetWebException e){
00638         //HTMLErrorWriter.write(ofile,e);
00639     } catch (IOException ioe) {
00640         ioe.printStackTrace(System.out);
00641         throw new JetWebException(ioe);
00642     }
00643     
00644         
00645         /*
00646 
00647         // Select sort
00648         ofile.write("<td align=\"left\" colspan=\"3\"> <P>Sort fits by:");
00649         ofile.newLine();
00650         ofile.write("<select name=\"SORT\" title=\"The returned fits will be sorted by the selected property\" size=\"1\">");
00651         ofile.write("<OPTION>"+HTMLUtils.CHI2ALL);//Overall Chi2
00652         ofile.write("<OPTION>"+HTMLUtils.CHI2HIGH);
00653         ofile.write("<OPTION>"+HTMLUtils.CHI2LOW);
00654         ofile.write("<OPTION>"+HTMLUtils.CHI2CHARM);
00655         ofile.write("<OPTION>"+HTMLUtils.CHI2SHAPE);
00656         ofile.write("<OPTION>"+HTMLUtils.CHI2ALLEP);//Overall Chi2
00657         ofile.write("<OPTION>"+HTMLUtils.CHI2HIGHEP);
00658         ofile.write("<OPTION>"+HTMLUtils.CHI2LOWEP);
00659         ofile.write("<OPTION>"+HTMLUtils.CHI2CHARMEP);
00660         ofile.write("<OPTION>"+HTMLUtils.CHI2SHAPEEP);
00661         ofile.write("<OPTION>"+HTMLUtils.CHI2ALLEE);//Overall Chi2
00662         ofile.write("<OPTION>"+HTMLUtils.CHI2HIGHEE);
00663         ofile.write("<OPTION>"+HTMLUtils.CHI2LOWEE);
00664         ofile.write("<OPTION>"+HTMLUtils.CHI2CHARMEE);
00665         ofile.write("<OPTION>"+HTMLUtils.CHI2SHAPEEE);
00666         ofile.write("<OPTION>"+HTMLUtils.CHI2ALLPP);//Overall Chi2
00667         ofile.write("<OPTION>"+HTMLUtils.CHI2HIGHPP);
00668         ofile.write("<OPTION>"+HTMLUtils.CHI2LOWPP);
00669         ofile.write("<OPTION>"+HTMLUtils.CHI2CHARMPP);
00670         ofile.write("<OPTION>"+HTMLUtils.CHI2SHAPEPP);
00671         ofile.write("<OPTION>"+HTMLUtils.DATE);
00672         ofile.write("</SELECT></P>");
00673         ofile.newLine();
00674 
00675 
00676         //ofile.write("<TD><P>Only show me fits with data from:");
00677         //ofile.newLine();
00678         //ofile.write("<SELECT NAME=REQUIREDATA SIZE=1>");
00679         //ofile.write("<OPTION>"+DONTCARE);
00680         //ofile.write("<OPTION>"+LATEST);
00681         //ofile.write("<OPTION>"+LATESTEP);
00682         //ofile.write("<OPTION>"+LATESTEE);
00683         //ofile.write("<OPTION>"+LATESTPP);
00684         //Enumeration paperlist = PaperBank.getAll();
00685         //while (paperlist.hasMoreElements()){
00686         //  ofile.write("<OPTION>"+ ((Paper)paperlist.nextElement()).getDirName());
00687         //}
00688         //ofile.write("</SELECT></P>");
00689         ofile.newLine();
00690 
00691         ofile.write("</div>");
00692         */
00693     }

synchronized void displayList List<?>  list  )  throws JetWebException [inherited]
 

Write the first LISTLENGTH elements of a list of objects and remove them from List.

Parameters:
List to write out

Definition at line 843 of file HTMLWriter.java.

Referenced by HTMLUtils.displayList(), HTMLUtils.displayListContinued(), and Searcher.doGet().

00844                            {
00845 
00846     //needs to delete them too
00847     Iterator<? extends Object> iterator = list.iterator();
00848     int count=0;
00849     Vector<Object> deleteList = new Vector<Object>();
00850     while (iterator.hasNext() && count<LISTLENGTH){
00851         Object next = iterator.next(); 
00852         display(next);
00853         deleteList.add(next);
00854         count++;
00855 
00856     }
00857 
00858     //now remove the fits that have been listed
00859     Enumeration<? extends Object> del = deleteList.elements();
00860     while (del.hasMoreElements()){
00861         list.remove(del.nextElement());
00862     }
00863 
00864     }

void endFitPage String  forward,
String  back
 

Write footer for a static page list of fits with links forward and backward.

Definition at line 82 of file HTMLFitWriter.java.

References HTMLWriter.close().

00082                                                        {
00083     try {
00084         if (!forward.equals("")){
00085         ofile.write("<a href='"+forward+".html'>Next Fits</a> ");
00086         }
00087         if (!back.equals("")){
00088         ofile.write(" <a href='"+back+".html'>Previous Fits</a>");
00089         }
00090     } catch (IOException e){
00091         System.out.println("problem end of fit page");
00092         return;
00093     }
00094     close();
00095     }

void endForm  )  [inherited]
 

End form.

Definition at line 270 of file HTMLWriter.java.

Referenced by Maintainer.doGet(), HTMLUtils.listPendingJobs(), HTMLUtils.writeJobRequestForm(), HTMLUtils.writeParameterScreen(), HTMLUtils.writeProcScreen(), HTMLUtils.writeQueryScreen(), and HTMLUtils.writeSelectPlotsPage().

00270                          {
00271     try {
00272         closeForm();
00273         //ofile.write("</form>");
00274     } catch ( IOException e ) {
00275         System.out.println("problem writing form");
00276         return;
00277     }
00278     }

void endListPage String  resultKey  )  [inherited]
 

Write footer for a list of Fits with a forward link based on the fitKey

Definition at line 887 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by HTMLUtils.displayList(), and HTMLUtils.displayListContinued().

00887                                              {
00888         try {
00889         openForm();
00890         //ofile.write("<form>");
00891         ofile.write("<input type='SUBMIT' name='MORERESULTS' value='Next Results'>");
00892         ofile.write("<input type='HIDDEN' name='RESULTKEY' value='"+resultKey+"'>");
00893         ofile.write("<input type='HIDDEN' name='VERBOSE' value='"+verbose+"'>");
00894         ofile.write("<input type='HIDDEN' name='MODIFIABLE' value='"+modifiable+"'>");
00895         closeForm();
00896         //ofile.write("</form>");
00897     } catch ( IOException e ) {
00898         System.out.println("problem end of list page");
00899         return;
00900     }
00901     }

void endPaperComparison  ) 
 

Definition at line 208 of file HTMLFitWriter.java.

Referenced by HTMLFitWriter.makeComparison().

00208                                     {
00209     try {
00210         ofile.write("</table>");
00211     } catch (IOException e){
00212         System.out.println("problem writing form");
00213     }
00214 
00215     }

void forwardTo String  htmlPath  )  [inherited]
 

Write the necessary HTML to forward to use to the page at htmlPath.

Definition at line 698 of file HTMLWriter.java.

References HTMLWriter.write().

00698                                           {
00699 
00700     try {
00701         ofile.write("<head><meta http-equiv=\"refresh\" content=\"0;URL="+
00702             htmlPath+"\"></head>");
00703         ofile.newLine();
00704         close();
00705     } catch ( IOException e ) {
00706         System.out.println("problem writing form");
00707         return;
00708     }
00709     }

BufferedWriter getWriter  )  [inherited]
 

Return the buffered writer.

Definition at line 190 of file HTMLWriter.java.

Referenced by HTMLFitWriter.comparePlots(), HTMLFitWriter.writeCompareFitsPage(), HTMLFitWriter.writeFitPage(), and HTMLUtils.writeQueryScreen().

00190                                      {
00191     return ofile;
00192     }

void listHiddenPars ResultSearchPattern  pattern  )  [inherited]
 

Add the generic parameters from the ResultSearchPattern to the HTML form as hidden inputs.

Parameters:
pattern 

Definition at line 674 of file HTMLWriter.java.

References ResultSearchPattern.getGenerator(), ResultSearchPattern.getPhotonPDF(), ResultSearchPattern.getProtonPDF(), and HTMLWriter.write().

00674                                                            {
00675 
00676     try {
00677         ofile.write("<input type='HIDDEN' name='GENERATOR' value='"+pattern.getGenerator().getName()+"-"+pattern.getGenerator().getVersion()+"'>");
00678         ofile.newLine();
00679         ofile.write("<input type='HIDDEN' name='PHOTONPDF' value='"+pattern.getPhotonPDF()+"'>");
00680         ofile.newLine();
00681         ofile.write("<input type='HIDDEN' name='PROTONPDF' value='"+pattern.getProtonPDF()+"'>");
00682 
00683     } catch ( IOException e ) {
00684         System.out.println("problem writing form");
00685         e.printStackTrace();
00686         return;
00687     } catch (JetWebException jwe){
00688         System.out.println("problem writing form");
00689         jwe.printStackTrace();
00690         return;
00691     }
00692     }

void listPendingJobs  )  [inherited]
 

Write list of pending jobs.

Definition at line 639 of file HTMLWriter.java.

References PendingJob.getDate(), PendingJob.getName(), PendingJob.getScriptName(), and HTMLWriter.write().

Referenced by HTMLUtils.listPendingJobs().

00639                                  {
00640     
00641     try {
00642         Enumeration pending = JobUtils.selectPendingJobs();
00643 
00644         closeForm();
00645 
00646         //ofile.write("</FORM>");
00647 
00648         int count = 0;
00649         while (pending.hasMoreElements()){
00650         
00651         PendingJob pj = (PendingJob)pending.nextElement();
00652 
00653         count++;
00654         ofile.write("<TR><TD COLSPAN=2>");
00655         ofile.newLine();
00656         ofile.write("<P><B>"+count+": "+pj.getName()+"</B> :");
00657         ofile.write(" Requested at "+pj.getDate()+". Run script is "
00658                 +pj.getScriptName()+"</P>");
00659         ofile.newLine();
00660         }
00661     } catch (JetWebException e){
00662         HTMLErrorWriter.write(ofile,e);
00663     } catch (Exception e) {
00664         System.out.println("error:"+e.getMessage());
00665     }
00666     }

void makeActionButtons  )  [inherited]
 

Write out the HTML search toolbar.

Definition at line 315 of file HTMLWriter.java.

Referenced by HTMLUtils.writeParameterScreen(), HTMLUtils.writeQueryScreen(), and HTMLUtils.writeSelectPlotsPage().

00315                                    {
00316     try {
00317         
00318         ofile.write("<div class='actionbuttons'>");
00319         ofile.newLine();
00320         ofile.write(HTMLUtils.writeSubmitButton("GETMODELS",
00321                             "Search for models matching the criteria specified",
00322                             "Get Models"));
00323         ofile.newLine();
00324         ofile.write(HTMLUtils.writeSubmitButton("GETFITS",
00325                             "Search for fits matching the specified criteria",
00326                             "Get Fits"));
00327         ofile.newLine();
00328         ofile.write(HTMLUtils.writeSubmitButton
00329             ("CLEARALL",
00330              "Clear all selections",
00331              "Reset"));
00332         ofile.newLine();
00333         ofile.write(HTMLUtils.writeSubmitButton
00334             ("DEFAULT",
00335              "Set all parameters to their default values",
00336              "Default"));
00337         ofile.newLine();
00338         ofile.write("<br>");
00339         ofile.write("</div>");
00340 
00341     } catch ( IOException e ) {
00342         System.out.println("problem writing form");
00343         return;
00344     }
00345     }

void makeCommonForm ResultSearchPattern  pattern  )  throws JetWebException [inherited]
 

Definition at line 743 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by HTMLUtils.writeParameterScreen().

00743                                                                                    {
00744 
00745     try { 
00746 
00747         ofile.write("<table cellpadding=\"4\" rules=\"cols\">");
00748         ofile.write("<tr><td colspan=\"8\"> <p><b>Common parameters</b></p>");
00749         ofile.write("<tr align=\"top\">");
00750         ofile.newLine();
00751         ofile.write("<td align=\"top\"><table align=\"top\"><tr align=\"top\"><td colspan=\"2\"><P>Generator</P>");
00752         ofile.newLine();
00753         boolean none = true;
00754         Generator gen = pattern.getGenerator();
00755         
00756         for (String name : Generator.allNames() ) {
00757         ofile.write("<tr><td align='right'>");
00758         ofile.write("<b>"+name+" </b>");
00759 
00760         TreeSet<String> allVersions = 
00761             new TreeSet(Generator.allVersions(name));
00762 
00763         for (String version : allVersions ) {
00764             ofile.write("<td>" + version + 
00765                 "<input type='checkbox' ");
00766             ofile.write("name='GENERATOR' value='"+name+"-"+version+"'");
00767             if (gen!=null && 
00768             gen.getName().equals(name) && 
00769             gen.getVersion().equals(version)){
00770             ofile.write(" checked ");
00771             }
00772             ofile.write("/></td>");
00773             ofile.newLine();
00774         }
00775         }
00776         ofile.write("</table>");
00777         
00778         ofile.newLine();
00779         ofile.write("<td align='top'><table><tr><td colspan='2'><P>Photon PDF</P>");
00780         ofile.newLine();
00781         none = true;
00782 
00783         Vector<PDF> knownPDFs = PDF.getKnownPDFs();
00784 
00785         Vector<PDF> knownProtonPDFs = new Vector<PDF>();
00786         Vector<PDF> knownPhotonPDFs = new Vector<PDF>();
00787 
00788         for(PDF pdf: knownPDFs){
00789         if(pdf.isPhoton()) knownPhotonPDFs.add(pdf);
00790         if(pdf.isProton()) knownProtonPDFs.add(pdf);
00791         }
00792 
00793         for(PDF pdf: knownPhotonPDFs){
00794         ofile.write("<tr><td align='right'>");
00795         ofile.write(pdf.getName()+"</td>");
00796                 ofile.write("<td><input type='checkbox' ");
00797         if(pattern.getPhotonPDFList().contains(pdf)&&none){
00798             ofile.write(" checked ");
00799             none = false;
00800         }
00801         ofile.write("name='PHOTONPDF' value='"+pdf.getName()+"'>");
00802         ofile.write("</td></tr>");
00803         ofile.newLine();        
00804         }
00805         ofile.write("</tr>");
00806         ofile.write("</table>");
00807         ofile.write
00808         ("<td align='top'> <table><tr><td colspan='2'><p>Proton PDF</p>");
00809         ofile.newLine();
00810         none = true;
00811 
00812         for(PDF pdf: knownProtonPDFs){
00813         ofile.write("<tr><td align='RIGHT'>");
00814         ofile.write(pdf.getName() + "</td>");
00815                 ofile.write("<td><input type='checkbox' ");
00816         if(pattern.getProtonPDFList().contains(pdf)&&none){
00817             ofile.write(" checked ");
00818             none = false;
00819         }
00820         ofile.write("name='PROTONPDF' value='"+pdf.getName()+"'>");
00821         ofile.write("</td></tr>");
00822         ofile.newLine();
00823         }
00824 
00825         ofile.write("</table>");
00826         
00827         ofile.write("<tr><td colspan='8'><hr noshade size='3'>");
00828         
00829         ofile.write("</table>");
00830     
00831     } catch (IOException ioe) {
00832         ioe.printStackTrace(System.out);
00833         throw new JetWebException(ioe);
00834     }
00835     }

void makeComparison Fit  fit1,
Fit  fit2
 

Compare two Fits

Parameters:
fit 1
fit 2

Definition at line 453 of file HTMLFitWriter.java.

References HTMLFitWriter.comparePlots(), HTMLFitWriter.endPaperComparison(), and Fit.getMCPapers().

Referenced by HTMLFitWriter.writeCompareFitsPage().

00453                                                   {
00454     
00455     try {
00456 
00457         // compare each set of papers
00458         Map mcPapers1 = fit1.getMCPapers();
00459         Map mcPapers2 = fit2.getMCPapers();
00460         
00461         Iterator paperIds = mcPapers1.keySet().iterator();
00462         if (!paperIds.hasNext()){
00463         System.out.println("Fit: no papers");
00464         }
00465 
00466         ofile.write("<table>");
00467         ofile.write("<tr>");
00468         ofile.write("<td><h2>Plot Comparison</td>"); 
00469         ofile.write("</tr>");
00470         
00471         ofile.write("<tr><td colspan='12'>");
00472         ofile.write("<hr noshade size='3'></td></tr>");
00473                                 
00474         while (paperIds.hasNext()){
00475         Integer key = (Integer)paperIds.next();
00476         if (mcPapers2.containsKey(key)){
00477             Paper paper1 = (Paper)mcPapers1.get(key);
00478             Paper paper2 = (Paper)mcPapers2.get(key);
00479 
00480             comparePlots(paper1,paper2,fit1,fit2);
00481         }
00482         }
00483         // End the table.
00484         endPaperComparison();
00485 
00486         
00487     } catch (Exception e){
00488         System.out.println("Fit: Exception in compare fits "+e);
00489         e.printStackTrace();
00490     }
00491     
00492        
00493     }

void makeControlForm  )  [inherited]
 

Write out the top-level maintenance options form.

Definition at line 435 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by HTMLUtils.writeControlScreen().

00435                                  {
00436     
00437     try {
00438 
00439         ofile.write("<div class='jetweb-buttons'>");
00440 
00441         ofile.newLine();    
00442         openForm("POST", servletPath);
00443         //ofile.write("<form method='post' action='"+servletPath+"'>");
00444 
00445         ofile.write("<table><tbody>");
00446         ofile.newLine();        
00447         /*
00448         ofile.write("<tr>");
00449         ofile.write("<td valign='top'><p>Rewrite webpages</p></td>");
00450         ofile.write("<td align='middle' valign='middle'>");     
00451         ofile.write("<input type='submit' name='REDO' value='GO'></td></tr>");
00452         ofile.newLine();
00453         */
00454         ofile.write("<tr>");
00455         ofile.write("<td><p>Process any new data in the input directory</p></td>");
00456         ofile.write("<td align='right'>");
00457         ofile.write("<INPUT TYPE=SUBMIT NAME='PROCESSNEW' VALUE=\"GO\"></TD></TR>");
00458         ofile.newLine();
00459 
00460         ofile.write("<tr>");
00461         ofile.write("<td><p>Manage MCProcessTypes</p></td>");
00462         ofile.write("<td align='right'>");
00463         ofile.write("<input type='submit' name='PROCESSTYPE' value='GO'></td></tr>");
00464         ofile.newLine();
00465 
00466         /*
00467         ofile.write("<tr>");
00468         ofile.write("<td><p>Search or submit new job</P></TD>");
00469         ofile.write("<td align='right'>");
00470         ofile.write("<input type='submit' name='SEARCH' value='GO'></td></tr>");
00471         ofile.newLine();
00472         */
00473         ofile.write("<tr>");
00474         ofile.write("<td><p>List submitted jobs which have not yet returned.</p></td>");
00475         ofile.write("<td align='right'>");
00476         ofile.write("<input type='submit' name='PENDING' VALUE='GO'></td></tr>");
00477 
00478 
00479         ofile.write("<tr>");
00480         ofile.write("<td><p>Edit fit with ID</P></TD><TD align='left'>");
00481         ofile.write("<input type='text' name='FITID' width='5'></p></td>");
00482             ofile.write("<td align='right'>");
00483         ofile.write("<input type='submit' name='FITFIX' value='GO'></td></tr>");
00484 
00485             ofile.write("<tr>");
00486         ofile.write("<td><p>Modify a paper (give the ID)</p></td><td align='left'>");
00487         ofile.write("<input type='text' name='PAPERID' width='5'></p></td>");
00488             ofile.write("<td align='right'>");
00489         ofile.write("<input type='submit' name='PAPERMOD' value='GO'></td></tr>");
00490 
00491         ofile.write("<tr>");
00492         ofile.write("<td><p>Add a new paper</p></td>");
00493         ofile.write("<td align='right'>");
00494         ofile.write("<input type='submit' name='PAPERADD' value='GO'></td></tr>");
00495         ofile.write("<tr>");
00496 
00497         /*
00498         ofile.write("<td><p>Recalculate generated integrated luminosity</p></td>");
00499         ofile.write("<td align='right'>");
00500         ofile.write("<input type='submit' name='FIXLUMI' value='GO'></td></tr>");
00501         */
00502 
00503         ofile.write("</tbody></table>");
00504         closeForm();
00505         //ofile.write("</form>");
00506         openForm("POST", JetWebConfig.uploadServletPath, 
00507              "enctype='multipart/form-data'");
00508         //ofile.write
00509         //("<form enctype='multipart/form-data' method='post' action='"
00510         // + JetWebConfig.uploadServletPath + "'>");
00511 
00512         ofile.write("<table><tbody>");
00513         ofile.write("<tr>");
00514         ofile.write
00515         ("<td><p>Add a new generator default from an XML file</p></td>");
00516         ofile.write("<td align='right'>");
00517         ofile.write("<input type='hidden' name='DEFAULTSUPLOAD'>");
00518         ofile.write("<input type='hidden' name='DIRECTORY' value=" + 
00519             JetWebConfig.jobOutDirName+ "/>");
00520         ofile.write
00521         ("<input type='file' name='XMLDEFAULTS'></p></td>");
00522 
00523         ofile.write("<td align='right'>");
00524         ofile.write("<input type='submit' name='DEFAULTSMOD' value='GO'></TD></TR>");
00525         ofile.write("</tbody></table>");
00526 
00527         closeForm();
00528         //ofile.write("</form>");
00529         ofile.write("</div>");
00530 
00531         ofile.write("<div>");
00532         openForm("POST", servletPath);
00533         //ofile.write("<form method='post' action='"+servletPath+"'>");
00534         ofile.newLine();
00535         ofile.write("<table border='3'>");
00536 
00537         ofile.write("<tr><td colspan='6'>");
00538         ofile.write("<h3>New Configuration</h3>");
00539 
00540         ofile.newLine();
00541         ofile.write("<tr><td align='right'><p>Plot generation on:<td align=\"left\">");
00542         ofile.write("<input type='checkbox' name='PLOTS'");
00543         if (JetWebConfig.writePlots) { ofile.write(" checked ");}
00544         ofile.write(">");
00545         ofile.write("<tr>");
00546         ofile.write("<tr><td align='right'><p>Name of run subdirectory for jobs:<td align='left'>");
00547         String dname = JetWebConfig.jobOutDirName;
00548         ofile.write("<input type='text' name='RUNSUBDIR' width='24' value='"
00549             +dname+"'>");
00550 
00551         ofile.newLine();
00552         ofile.write("<tr><td><p>Batch facility:</p>");
00553 
00554         ofile.newLine();
00555         ofile.write("<td><table>"); // List of batch facilities. This is a bit clumsy!
00556         ofile.newLine();
00557         Iterator<Integer> iBatchNum = SubmitScriptHandler.batchNumbers.iterator();
00558         Iterator<String> iBatchName = SubmitScriptHandler.batchNames.iterator();
00559         while (iBatchNum.hasNext()&&iBatchName.hasNext()) {  // Should have same number of entries
00560         Integer batchNum = iBatchNum.next();
00561         String batchName = iBatchName.next();
00562         ofile.write("<TR><TD>"+batchName+"<TD><INPUT TYPE=RADIO NAME=BATCHFAC VALUE=\""
00563                 +batchNum+"\"");
00564         if (SubmitScriptHandler.BATCHFACILITY==batchNum.intValue()){
00565             ofile.write(" checked ");}
00566         ofile.write(">");
00567         ofile.newLine();
00568         }
00569         ofile.write("</table>");
00570 
00571         ofile.newLine();
00572         ofile.write("<tr>");
00573 
00574         ofile.write("<td align='right' colspan='6'>");
00575         ofile.write("<input type='submit' name='CONFIG' value='Update config'>");
00576 
00577         ofile.write("</table>");
00578         closeForm();
00579         //ofile.write("</form>");
00580         ofile.write("</div>");
00581 
00582         ofile.newLine();
00583     } catch ( IOException e ) {
00584         System.out.println("problem writing form");
00585         return;
00586     }
00587     }

void makeRequestForm ResultSearchPattern  pattern  )  throws JetWebException [inherited]
 

Construct an HTML request form containing the parameters of a ResultSearchPattern

Parameters:
pattern determines parameters for job request form.
See also:
cedar.jetweb.model.ResultSearchPattern

Definition at line 390 of file HTMLWriter.java.

References HTMLGeneratorWriter.display(), HTMLWriter.setModifiable(), HTMLWriter.setVerbose(), and HTMLWriter.write().

Referenced by HTMLUtils.writeJobRequestForm(), HTMLUtils.writeQueryScreen(), and HTMLUtils.writeSelectPlotsPage().

00390                                                                                     {
00391 
00392     try {   
00393         boolean oldModifiable = modifiable;
00394         modifiable = true;
00395         makeCommonForm(pattern);
00396         modifiable = oldModifiable;
00397         
00398         Generator gen = pattern.getGenerator();
00399         if (gen!=null) {
00400         ofile.write("<p>Model Description: ");
00401         ofile.write
00402             (HTMLUtils.writeInputBox
00403              ("DESCRIPTION", 
00404               "Write a description of the model", 
00405               pattern.getDescription()));
00406         ofile.write("</p>");
00407         
00408         ofile.write("<h4>Change the generator parameters</h4>");
00409         HTMLGeneratorWriter genOp 
00410             = new HTMLGeneratorWriter(ofile,servletPath);
00411         genOp.setModifiable(true);
00412         genOp.setVerbose(true);
00413         genOp.display(gen);
00414         ofile.newLine();
00415 
00416         } else {
00417         
00418         for (String gname: Generator.allNames()){
00419             ofile.write(HTMLUtils.writeSubmitButton("SETPARS",
00420                                 "Opens a form allowing "
00421                                 +gname+" parameters to be changed",
00422                                 gname));
00423         }
00424         }
00425     } catch ( IOException e ) {
00426         System.out.println("problem writing form");
00427         return;
00428     }       
00429     }

void makeSubmitButtons  )  [inherited]
 

Write out the HTML job submission toolbar.

Definition at line 351 of file HTMLWriter.java.

Referenced by HTMLUtils.writeJobRequestForm(), and HTMLUtils.writeParameterScreen().

00351                                    {
00352     try {
00353         
00354         ofile.write("<div class='actionbuttons'>");
00355         ofile.newLine();
00356 
00357         ofile.write("Minimum PT (GeV) for generated events ");
00358         ofile.write
00359         ("<input type='text' size='3'" + 
00360          " name='GENPTMIN' title='Enter the minimum PT to generate'>");
00361         
00362         ofile.write(HTMLUtils.writeSubmitButton("SUBMIT1",
00363                             "Submit the simulation job request",
00364                             "Submit the request"));
00365 
00366         ofile.newLine();
00367         ofile.write(HTMLUtils.writeSubmitButton("CLEARALL",
00368                             "Clear all selections",
00369                             "Reset"));
00370 
00371         ofile.newLine();
00372         ofile.write
00373         ("<input type='hidden' name='SUBMITTINGJOB' value='TRUE'>");
00374     
00375         ofile.write("</div>");
00376 
00377     } catch ( IOException e ) {
00378         System.out.println("problem writing form");
00379         return;
00380     }
00381     }

HTMLWriter makeWriter PrintWriter  out,
String  newServletPath,
Object  o
throws JetWebException [static, inherited]
 

Factory for making HTMLWriters.

Definition at line 96 of file HTMLWriter.java.

Referenced by HTMLUtils.displayList(), and HTMLUtils.displayListContinued().

00098                            {
00099 
00100     if (o instanceof DataPlot) {
00101         return new HTMLPlotWriter(out,newServletPath);
00102     } else if (o instanceof MCProcessType || o instanceof Collision) {
00103         return new HTMLProcessWriter(out,newServletPath);
00104     } else if (o instanceof Paper) {
00105         return new HTMLPaperWriter(out,newServletPath);
00106     } else if (o instanceof Fit) {
00107         return new HTMLFitWriter(out,newServletPath);
00108     } else if (o instanceof Model) {
00109         return new HTMLModelWriter(out,newServletPath);
00110     } else {
00111         return new HTMLWriter(out,newServletPath);
00112     }
00113 
00114     }

void openForm  )  throws IOException [protected, inherited]
 

open a form with no attributes

Definition at line 1006 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by HTMLProcessWriter.addNewProcess(), HTMLProcessWriter.display(), HTMLPlotWriter.display(), HTMLPaperWriter.display(), HTMLModelWriter.display(), HTMLFitWriter.display(), HTMLFitWriter.writeFitEditForm(), HTMLPaperWriter.writePaperForm(), and HTMLFitWriter.writeVerbose().

01007                        {
01008     if(!formAction_.equals("") && 
01009        !forms_.equals(0)){
01010         forms_=1;
01011         ofile.write("</form>");
01012     }else{
01013         ++forms_;
01014     }
01015 
01016     if(forms_==1){
01017         ofile.write("<form>");
01018         formAction_ = "";
01019     }
01020     
01021     return;
01022     }

void openForm String  method,
String  action,
String  extra
throws IOException [protected, inherited]
 

Opens a form element if one is not already open closes the current form if the requested attribute is not the same as the one used by the open form

Parameters:
method the method (get or post) to use
action the action to use
extra any extra attributes

Definition at line 979 of file HTMLWriter.java.

References HTMLWriter.write().

00980                         {
00981 
00982     if(!action.equals(formAction_) &&
00983        !forms_.equals(0)){
00984 
00985         forms_ = 1;
00986         ofile.write("</form>");
00987     }else{
00988         ++forms_;
00989     }
00990 
00991     if(forms_==1){
00992         ofile.write("<form method='" + 
00993             method + 
00994             "' action='" + 
00995             action + "' " + extra + ">");
00996         formAction_ = action;
00997     }
00998 
00999     return;
01000     }

void openForm String  method,
String  action
throws IOException [protected, inherited]
 

Opens a form element if one is not already open closes the current form if the requested attribute is not the same as the one used by the open form

Parameters:
method the method (get or post) to use
action the action to use

Definition at line 947 of file HTMLWriter.java.

References HTMLWriter.write().

00948                         {
00949 
00950     if(!action.equals(formAction_) &&
00951        !forms_.equals(0)){
00952         forms_ = 1;
00953         ofile.write("</form>");
00954     }else{
00955         ++forms_;
00956     }
00957 
00958     if(forms_==1){
00959         ofile.write("<form method='" + 
00960             method + 
00961             "' action='" + 
00962             action + "' >");
00963         formAction_ = action;
00964     }
00965 
00966     return;
00967     }

void searchByXML  )  [inherited]
 

write out the search using xml file field

Definition at line 284 of file HTMLWriter.java.

Referenced by HTMLUtils.writeQueryScreen().

00284                              {
00285     
00286     try{
00287         //  openForm
00288         //("POST", "..//mouse/JWUpload", "enctype='multipart/form-data");
00289         openForm("POST", 
00290              JetWebConfig.uploadServletPath, 
00291              "enctype='multipart/form-data'");
00292 
00293     ofile.write("<div class='jetweb-buttons'>");
00294     ofile.write("<input type='hidden' name='DIRECTORY' value='"+ 
00295             JetWebConfig.jobOutDirName
00296             +"'/>");
00297     ofile.write("<input type='hidden' name='MODELXML'/>");
00298     ofile.write(HTMLUtils.writeInputTag
00299             ("file", 
00300              "XMLFile", 
00301              "Search for models matching a Hepml file", ""));
00302     ofile.write("Search for models matching HepML file ");
00303     ofile.write("<input type='SUBMIT' name='SUBMITXML' value='Go'/>");
00304     ofile.write("</div>");
00305     }catch ( IOException e ) {
00306         System.out.println("problem writing form");
00307         return;
00308     }
00309     }

void setDateFormat SimpleDateFormat  form  )  [inherited]
 

Set the date format.

Definition at line 184 of file HTMLWriter.java.

00184                                                     {
00185     dateFormat = form;
00186     }

void setHidden boolean  hide  )  [inherited]
 

Write objects as hidden parameters or not.

Definition at line 210 of file HTMLWriter.java.

00210                                        {
00211     hidden = hide;
00212     if (hide) {modifiable = false;}
00213     }

void setModifiable boolean  mod  )  [inherited]
 

Write objects as modifiable parameters or not.

Definition at line 217 of file HTMLWriter.java.

Referenced by HTMLModelWriter.display(), HTMLUtils.displayList(), HTMLUtils.displayListContinued(), HTMLWriter.makeRequestForm(), HTMLUtils.writeParameterScreen(), HTMLUtils.writeQueryScreen(), and HTMLUtils.writeSelectPlotsPage().

00217                                           {
00218     modifiable = mod;
00219     if (mod) {hidden=false;}
00220     }

void setNumberFormat NumberFormat  form  )  [inherited]
 

Set the number format.

Definition at line 178 of file HTMLWriter.java.

00178                                                   {
00179     dform = form;
00180     }

void setVerbose boolean  verb  )  [inherited]
 

Write verbose versions of objects

Definition at line 224 of file HTMLWriter.java.

Referenced by HTMLPaperWriter.display(), HTMLModelWriter.display(), HTMLUtils.displayList(), HTMLUtils.displayListContinued(), Searcher.doGet(), ServletUtils.editFit(), HTMLWriter.makeRequestForm(), HTMLUtils.writeParameterScreen(), and HTMLUtils.writeSelectPlotsPage().

00224                                         {
00225     verbose = verb;
00226     }

void startControlForm String  message  )  [inherited]
 

Write out the HTML for the start of a control form with message.

Parameters:
message 

Definition at line 240 of file HTMLWriter.java.

00240                                                 {
00241     
00242     try {
00243         writeTopMessage(message);
00244 
00245     } catch ( JetWebException e ) {
00246         System.out.println("problem writing form");
00247         return;
00248     }
00249     }

void startControlForm  )  [inherited]
 

Write out the HTML for the start of a (no message) control form.

Definition at line 231 of file HTMLWriter.java.

Referenced by Maintainer.doGet(), and HTMLUtils.writeControlScreen().

00231                                   {
00232     this.startControlForm(" ");
00233     }

void startForm  )  [inherited]
 

Write out the HTML start tag for a form, with an (optional) message.

Parameters:
message to be displayed

Definition at line 256 of file HTMLWriter.java.

Referenced by HTMLUtils.listPendingJobs(), HTMLUtils.writeJobRequestForm(), HTMLUtils.writeParameterScreen(), HTMLUtils.writeProcScreen(), HTMLUtils.writeQueryScreen(), and HTMLUtils.writeSelectPlotsPage().

00256                            {
00257     
00258     try {
00259         openForm("POST", servletPath);
00260 
00261     } catch ( IOException e ) {
00262         System.out.println("problem writing form");
00263         return;
00264     }
00265     }

void startPaperComparison Paper  paper,
Fit  fit1,
Fit  fit2
 

Compare 2 papers

Definition at line 179 of file HTMLFitWriter.java.

References Fit.getId(), and Paper.getTitle().

Referenced by HTMLFitWriter.comparePlots().

00179                                                                    {
00180     
00181     try {
00182         ofile.write("<TR>");
00183         ofile.write("<TD><I>"+paper.getTitle()+"</I></TD><TD><I>"+fit1.getId()+" Chi<SUP>2</SUP>/DOF</I></TD><TD><I>"+fit2.getId()+" Chi<SUP>2</SUP>/DOF</I></TD>");
00184         ofile.write("</TR>");
00185     } catch (IOException e){
00186         System.out.println("problem writing form");
00187     }
00188     
00189     }

void write String  str  )  throws JetWebException [inherited]
 

Write a string to output.

Definition at line 869 of file HTMLWriter.java.

Referenced by HTMLWriter.closeForm(), HTMLWriter.display(), HTMLPlotWriter.display(), HTMLPaperWriter.display(), HTMLModelWriter.display(), HTMLUtils.displayList(), FileUploader.doPlotXMLUpload(), HTMLWriter.endListPage(), HTMLWriter.forwardTo(), HTMLWriter.listHiddenPars(), HTMLWriter.listPendingJobs(), HTMLWriter.makeCommonForm(), HTMLWriter.makeControlForm(), HTMLWriter.makeRequestForm(), HTMLWriter.openForm(), FileUploader.upload(), HTMLWriter.writeDirChoiceForm(), HTMLFitWriter.writeFitPage(), HTMLWriter.writeInputId(), HTMLUtils.writeJobRequestForm(), HTMLPaperWriter.writeNewPlotEntry(), HTMLWriter.writeOkCancel(), HTMLPaperWriter.writePaperScreen(), HTMLUtils.writeParameterScreen(), HTMLPaperWriter.writePlotEntry(), HTMLUtils.writeProcScreen(), HTMLUtils.writeQueryScreen(), HTMLUtils.writeSelectPlotsPage(), HTMLPaperWriter.writeSwitchForm(), HTMLWriter.writeTitle(), and HTMLWriter.writeTopMessage().

00869                                                          {
00870         
00871     try {
00872         ofile.write(str);
00873         
00874     } catch (IOException ioe) {
00875         ioe.printStackTrace(System.out);
00876         throw new JetWebException(ioe);
00877     }
00878 
00879 
00880     }

void writeCompareFitsPage String  fitId1,
String  fitId2,
PrintWriter  out,
String  servletPath
throws JetWebException [static]
 

Write out Job Comparison Page.

Definition at line 421 of file HTMLFitWriter.java.

References HTMLWriter.close(), Fit.getModel(), HTMLWriter.getWriter(), HTMLFitWriter.HTMLFitWriter(), HTMLModelWriter.listDifferences(), and HTMLFitWriter.makeComparison().

00424                                                  {
00425 
00426     //extract 2 fits to compare
00427     Fit fit1=new Fit(Integer.parseInt(fitId1));
00428     Fit fit2=new Fit(Integer.parseInt(fitId2));
00429 
00430     // Start new page.
00431     String title = "Comparison of Fit "+fitId1+" and Fit "+fitId2;
00432     System.out.println(title);
00433     HTMLFitWriter fw = new HTMLFitWriter(out,servletPath);
00434 
00435 
00436     // First compare the model parameters.
00437     HTMLModelWriter mw = new HTMLModelWriter(fw.getWriter(),servletPath);
00438     mw.listDifferences(fit1.getModel(),fit2.getModel());
00439 
00440 
00441     // Now the plots.
00442     fw.makeComparison(fit1,fit2);
00443     fw.close();
00444     }

void writeDirChoiceForm String  suggestion  )  [inherited]
 

Write out run directory selection screen.

Parameters:
suggestion name for new JobFile

Definition at line 610 of file HTMLWriter.java.

References HTMLWriter.write().

00610                                                      {
00611 
00612     try {
00613         File dir = new File(suggestion);
00614         ofile.write("<tr><td colspan=4><hr noshade size=3>");
00615         if (dir.exists()){
00616         File[] list = dir.listFiles();
00617 
00618         ofile.write("<tr><td><P>Choosing one of these overrides the input box</P>");
00619         for (int i=0; i<list.length ; i++){
00620             if (list[i].isDirectory()){
00621             ofile.write("<TR><TD>");
00622             ofile.write(list[i]+" <INPUT TYPE=RADIO NAME=RUNDIR1 VALUE=\""+list[i].getPath()+"\">");
00623             ofile.newLine();
00624             }
00625         }
00626         }
00627         ofile.write("<INPUT TYPE=TEXT SIZE=40 NAME=RUNDIR VALUE="+suggestion+">");
00628 
00629     } catch ( IOException e ) {
00630         System.out.println("problem writing form");
00631         return;
00632     }
00633 
00634     }

void writeFitEditForm String  fitId  ) 
 

Write Fit edit form.

Definition at line 99 of file HTMLFitWriter.java.

References HTMLWriter.closeForm(), and HTMLWriter.openForm().

Referenced by Maintainer.doGet().

00099                                               {
00100 
00101     try{ 
00102         ofile.write("<div class='jetweb-buttons'>");
00103         openForm("POST", JetWebConfig.mainServletPath);
00104         ofile.write("<table>");
00105         
00106         ofile.write("<tr>");
00107         ofile.write("<td><P>Regenerate the fit using same data</TD>"); 
00108         ofile.write("<td><input type='RADIO' name='FITACTION' value='REDO' checked>");
00109         ofile.write("</tr>");
00110 
00111         /*
00112 
00113         ofile.write("<TR>");
00114         ofile.write("<TD COLSPAN=12><hr noshade size=1></TD>");
00115 
00116         ofile.write("<TR>");
00117         ofile.write("<TD><P>Zero the fit and logparms data and copy files to run/edit</P></TD>");
00118         ofile.write("<TD><INPUT TYPE=RADIO NAME=FITACTION VALUE=\"ZERO\">");
00119         
00120         ofile.write("<TD ALIGN=RIGHT><P>Reprocess new data straight afterwards:</TD>");
00121         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REPROCESS></TD>");
00122 
00123         ofile.write("<TD ALIGN=RIGHT><P>Zero/copy ee data</P></TD>");
00124         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEEE CHECKED>");
00125 
00126         ofile.write("<TD ALIGN=RIGHT><P>Zero/copy ep data</P></TD>");
00127         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEEP CHECKED>");
00128 
00129         ofile.write("<TD ALIGN=RIGHT><P>Zero/copy pp data</P></TD>");
00130         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEPP CHECKED>");
00131 
00132         ofile.write("<TR>");
00133         ofile.write("<TD COLSPAN=12><hr noshade size=1></TD>");
00134 
00135         ofile.write("<TR>");
00136         ofile.write("<TD><P>Completely remove the fit</P></TD>");
00137         ofile.write("<TD><INPUT TYPE=RADIO NAME=FITACTION VALUE=\"REMOVE\">");
00138 
00139         ofile.write("<TD ALIGN=RIGHT><P>Also remove the model</P></TD>");
00140         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEMODEL>");
00141 
00142         ofile.write("<TD ALIGN=RIGHT><P>Also remove ee RunSeries</P></TD>");
00143         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEEE>");
00144 
00145         ofile.write("<TD ALIGN=RIGHT><P>Also remove ep RunSeries</P></TD>");
00146         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEEP>");
00147 
00148         ofile.write("<TD ALIGN=RIGHT><P>Also remove pp RunSeries</P></TD>");
00149         ofile.write("<TD><INPUT TYPE=CHECKBOX NAME=REMOVEPP>");
00150                 
00151         ofile.write("<TR>");
00152         ofile.write("<TD COLSPAN=12><em>NB: These options not yet implemented. They will affect other fits too and should be used with care.</TD>");
00153 
00154         ofile.write("<TR>");
00155         ofile.write("<TD COLSPAN=12><hr noshade size=1></TD>");
00156 
00157 
00158         */
00159 
00160         ofile.write("<tr>");
00161         ofile.write("<td align='right' colspan='12'>");
00162         ofile.write("<input type='submit' name='SUBMITFITEDIT' value='Go'>");  
00163         ofile.write("<input type='hidden' name='FITID' value='"+fitId+"'>");
00164         ofile.write("</td></tr>");
00165         ofile.newLine();
00166         ofile.write("</table>");        
00167         closeForm();
00168         ofile.write("</div>");
00169         
00170     } catch ( IOException e ) {
00171         System.out.println("problem writing form");
00172     }
00173     }

void writeFitPage Fit  fit  )  [static]
 

write to HTML

Deprecated:

Definition at line 378 of file HTMLFitWriter.java.

References HTMLWriter.close(), Fit.getId(), HTMLWriter.getWriter(), HTMLFitWriter.HTMLFitWriter(), HTMLWriter.write(), and HTMLFitWriter.writeVerbose().

00378                                             {
00379 
00380     // create a new HTML file for the fit
00381     File htmlfile = 
00382         new File(JetWebConfig.rootDirectory
00383              +"/"+JetWebConfig.plotCacheDirName
00384              +"/"+Integer.toString(fit.getId())+"/index.html");
00385 
00386     //if the directory doesn't exist, create it
00387     if (!(htmlfile.getParentFile().exists())) { 
00388         htmlfile.getParentFile().mkdirs();
00389     }
00390 
00391     //if the file already exists, overwrite it with an empty file
00392     try {
00393         if (htmlfile.exists()){
00394         htmlfile.delete();
00395         }
00396 
00397         System.out.println("Writing HTML File");        
00398         htmlfile.createNewFile();
00399         
00400         System.out.println(htmlfile.getPath());
00401         HTMLFitWriter op = new HTMLFitWriter(htmlfile.getPath()," ");
00402 
00403         try {
00404         op.writeVerbose(fit);
00405         } catch (JetWebException jwe){
00406         HTMLErrorWriter.write(op.getWriter(),jwe);
00407         }
00408         op.close();
00409     } catch (IOException e) {
00410         System.out.println("Unable to make html file"+e);
00411     }
00412     
00413     }

void writeInputId String  text,
String  name,
String  hover,
Integer  id
throws JetWebException [inherited]
 

Write a standard form to fetch an object with an input ID.

Parameters:
text : appears on the button
name : field name in form, has a "GET" appended to it.
hover : hover text for box and button
obj : the ID of the object to be fetched.

Definition at line 719 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by HTMLUtils.writeQueryScreen().

00720                            {
00721 
00722     try {
00723 
00724         ofile.write("<div class='idselector'>");
00725         openForm("POST", servletPath);
00726         //ofile.write("<form method='post' action='"+servletPath+"'>");
00727         ofile.write(HTMLUtils.writeSubmitButton(name+"GET",hover,text));
00728         ofile.write(HTMLUtils.writeInputBox(name,"Enter the ID",id));
00729         closeForm();
00730         //ofile.write("</form>");
00731         ofile.write("</div>");
00732 
00733         
00734     } catch (IOException ioe) {
00735         ioe.printStackTrace(System.out);
00736         throw new JetWebException(ioe);
00737     }
00738 
00739 
00740     }

void writeOkCancel  )  [inherited]
 

Write the OK and CANCEL buttons to screens.

Definition at line 592 of file HTMLWriter.java.

References HTMLWriter.write().

00592                                {
00593     try {
00594         ofile.newLine();
00595         ofile.write("<TR><TD COLSPAN=3><INPUT TYPE=SUBMIT NAME=ADDTOTHESE VALUE=\"OK\">");
00596         ofile.newLine();
00597         ofile.write("<INPUT TYPE=SUBMIT NAME=CANCEL VALUE=\"CANCEL\">");
00598     } catch ( IOException e ) {
00599         System.out.println("problem writing form");
00600         return;
00601     }
00602     }

void writeTitle String  title  )  throws JetWebException [inherited]
 

Write an HTML title.

Definition at line 929 of file HTMLWriter.java.

References HTMLWriter.write().

Referenced by Searcher.doGet().

00929                                                                 {
00930     try {
00931         ofile.write("<h2>"+title+"</h2>");
00932     } catch (IOException ioe){
00933         throw new JetWebException(ioe);
00934     }
00935     }

void writeTopMessage String  message  )  throws JetWebException [inherited]
 

Write an HTML message from the server at the top of the screen.

Definition at line 917 of file HTMLWriter.java.

References HTMLWriter.write().

00917                                                                        {
00918     try {
00919         ofile.write("<div class=\"news\">"+message+"</div>");
00920     } catch (IOException ioe){
00921         throw new JetWebException(ioe);
00922     }
00923 
00924     }

void writeVerbose Fit  fit  )  throws JetWebException [private]
 

Write out HTML summary of the Fit

Definition at line 221 of file HTMLFitWriter.java.

References HTMLWriter.closeForm(), ResultSearchPattern.getGenerator(), RunSeries.getId(), Model.getId(), RunSeries.getLumi(), Model.getRunSeries(), and HTMLWriter.openForm().

Referenced by HTMLFitWriter.display(), and HTMLFitWriter.writeFitPage().

00221                                                               {
00222 
00223     Model model = fit.getModel();
00224     Generator gen = model.getGenerator();
00225     PlotSelection selection = fit.getSelection();
00226     final Map<Integer,Paper> mcPapers = fit.getMCPapers();
00227         
00228     try{
00229 
00230         ofile.newLine();
00231 
00232         ofile.write("<div>");
00233         ofile.write("<p>The predictions were scaled by a factor of <b>"
00234             +dform.format(fit.getScale())
00235             +"</b>, determined by minimising the Chi2 for those plots used in the fit.</p>");
00236 
00237         // Writing the total chi2.
00238         ofile.write("<p>Chi2/Dof = "+dform.format(fit.getChi2()[0]/fit.getChi2()[1]));
00239         ofile.newLine();
00240         ofile.write(" for all fitted data.</p>");
00241         ofile.newLine();
00242         ofile.write("</div>");
00243         ofile.newLine();
00244 
00245         ofile.write("<div class='jetweb-buttons'>");
00246 
00247         openForm("POST", JetWebConfig.searchServletPath);
00248         ofile.write("<input type='HIDDEN' name='MODELID' value='"
00249             +model.getId()+"'>");
00250         ofile.write(HTMLUtils.writeSubmitButton("FINDDATA","Search for similar fits","Similar Fits"));
00251         closeForm();
00252 
00253         openForm("POST", JetWebConfig.searchServletPath);
00254         ofile.write("Compare to fit :");
00255         ofile.write("<input type='TEXT' name='FIT2'/>");
00256         ofile.write(HTMLUtils.writeSubmitButton("COMPAREFIT","Compare this fit to another fit - give the ID","GO"));
00257         ofile.write("<input type='HIDDEN' name='FIT1' value='"+fit.getId()+"'>");
00258         closeForm();
00259 
00260         openForm("POST", JetWebConfig.mainServletPath);
00261         ofile.write("<input type='HIDDEN' name='FITID' value='"+fit.getId()+"'>");
00262         ofile.write(HTMLUtils.writeSubmitButton("FITFIX",
00263                             "Get the fit maintenance form (password protected)",
00264                             "Maintenance"));
00265         closeForm();
00266 
00267         ofile.write("</div>");
00268 
00269 
00270         // Links to fitted Papers.
00271         ofile.write("<div class='jetweb-papers'>");
00272 
00273         ofile.write("<h3>Fitted data by process type and paper:</h3>");
00274         ofile.newLine();
00275         
00276         ofile.write("<table rules='rows' width='100%'><tr>");
00277         
00278         ofile.write("<td><p>Title</p></td>");
00279         ofile.write("<td><p>Spires</p></td>");
00280         ofile.write("<td><p>Plots</p></td>");
00281         ofile.write("<td><p>Chi2 Total</p></td>"); 
00282         ofile.write("<td><p>Per Dof</p></td>");
00283         ofile.write("<td><p>Experiment</p></td>"); 
00284         ofile.write("<td><p>Reference</p></td>");
00285 
00286 
00287         ofile.write("</tr>");
00288         
00289         for (MCProcessType proc : MCProcessType.getAll(true)){ 
00290 
00291         ofile.write("<tr class='jetweb-processtype'><td colspan='5'><p><b>"+proc.getMCProcessName()
00292                 +" "+proc.getCollision().toString()+" data</b></p></td>");
00293         ofile.write("</tr>");
00294 
00295 
00296         Vector<RunSeries> rsList = model.getRunSeries(proc);
00297         if (rsList.size()>0){
00298             RunSeries runSeries = rsList.firstElement();
00299             double chi2tmp[]=fit.getChi2(proc);
00300 
00301             ofile.write("<tr class='jetweb-summary'>");
00302             ofile.write("<td colspan='1'><p><b>Summary for this process type</b></p></td>");
00303 
00304 
00305             ofile.write("<td colspan='2'><p>Luminosity: "+dform.format(Math.abs( runSeries.getLumi()))
00306                 +"pb<sup>-1</sup></p></td>");
00307 
00308             ofile.write("<td><p>"+dform.format(chi2tmp[0])+"</p></td>");
00309             ofile.write("<td><p>"+dform.format(chi2tmp[0]/chi2tmp[1])+"</p></td>");
00310 
00311 
00312             ofile.write("<td><p>");
00313             openForm("POST", JetWebConfig.searchServletPath);
00314             //ofile.write("<input type='HIDDEN' name='FITID' value='"+fit.getId()+"'>");
00315             ofile.write("<input type='HIDDEN' name='RUNSERIESID' value='"+runSeries.getId()+"'>");
00316             ofile.write(HTMLUtils.writeSubmitButton("RSLOGS",
00317                                 "Inspect the logfiles for this fit and process.",
00318                                 "Log Files"));
00319             closeForm();
00320             ofile.write("</p></td>");
00321 
00322 
00323             ofile.write("</tr>");
00324 
00325         } else {
00326             ofile.write("<tr><td colspan='6'>Nothing generated for this process type.</td></tr>");
00327         }
00328 
00329 
00330         for (Paper paper : (new TreeMap<Integer,Paper>(mcPapers)).values()){
00331 
00332             ofile.newLine();
00333             if (paper.containsDataFor(proc)){
00334             ofile.write("<tr class='jetweb-fittedpaper'>");
00335 
00336             ofile.write("<td><p>"+paper.getTitle()+"</a></p></td>");
00337             ofile.write("<td><p>"+HTMLPaperWriter.getLink(paper)+"<p></td>");
00338             ofile.write("<td><p>");
00339             openForm("POST", JetWebConfig.searchServletPath);
00340             ofile.write("<input type='HIDDEN' name='FITID' value='"+fit.getId()+"'>");
00341             ofile.write("<input type='HIDDEN' name='PAPERID' value='"+paper.getId()+"'>");
00342             ofile.write(HTMLUtils.writeSubmitButton("PAPER",
00343                                 "Inpect the fitted plots for this paper.",
00344                                 "Plots"));
00345             closeForm();
00346             ofile.write("</td></p>");
00347 
00348             ofile.write("<td><p>"+dform.format(paper.getChi2(fit.getId()))+"</p></td>");
00349             ofile.write("<td><p>"+dform.format(paper.getChi2(fit.getId())/paper.getDOF(fit.getId()))
00350                     +"</p></td>");
00351 
00352 
00353 
00354             ofile.write("<td><p>"+paper.getCollaboration()+"</p></td>");
00355             ofile.write("<td><p>"+paper.getReference()+"</p></td>");
00356             ofile.write("</tr>");
00357             }
00358         }
00359         }
00360         ofile.write("</table>");
00361         ofile.newLine();
00362 
00363 
00364     } catch (IOException e) {
00365         System.out.println("Lost html file!!"+e);
00366         e.printStackTrace();
00367     } catch (JetWebException e){
00368         throw new JetWebException(e);
00369     }
00370 
00371     }


Member Data Documentation

SimpleDateFormat dateFormat [protected, inherited]
 

Standard format for dates.

Definition at line 52 of file HTMLWriter.java.

NumberFormat dform [static, protected, inherited]
 

Standard format for decimals.

Definition at line 49 of file HTMLWriter.java.

Integer forms_ = 0 [protected, inherited]
 

Keep track of whether we are inside a form or not and how many forms we think we are inside (can only actually ever be one, but it might try to close more than 1 if we don't count!)

Definition at line 68 of file HTMLWriter.java.

boolean hidden = false [protected, inherited]
 

Write objects as hidden in HTML forms.

Definition at line 58 of file HTMLWriter.java.

final int LISTLENGTH = 10 [static, protected, inherited]
 

Definition at line 40 of file HTMLWriter.java.

boolean modifiable = false [protected, inherited]
 

Write objects modiable form fields.

Definition at line 55 of file HTMLWriter.java.

BufferedWriter ofile [protected, inherited]
 

Output destinatation.

Definition at line 46 of file HTMLWriter.java.

String servletPath [protected, inherited]
 

The path to be used for all links to servlets.

Definition at line 43 of file HTMLWriter.java.

boolean verbose = false [protected, inherited]
 

Write verbose verions of objects.

Definition at line 61 of file HTMLWriter.java.


The documentation for this class was generated from the following file:

Generated Wed Jan 17 09:14:27 GMT 2007