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

HTMLWriter Class Reference

Inheritance diagram for HTMLWriter:

Inheritance graph
[legend]
List of all members.

Detailed Description

A class containing a BufferedWriter and various methods for writing JetWeb objects to it.

Author:
Jon Butterworth
Version:
Date
2006-11-29 18:57:06 +0000 (Wed, 29 Nov 2006)
Revision
1324

Definition at line 38 of file HTMLWriter.java.


Public Member Functions

 HTMLWriter (BufferedWriter out, String newServletPath)
 HTMLWriter (PrintWriter out, String newServletPath)
 HTMLWriter (String filename, String newServletPath)
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 display (Object object) throws JetWebException
void writeTopMessage (String message) throws JetWebException
void writeTitle (String title) throws JetWebException

Static Public Member Functions

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 initialize (String newServletPath)

Private Attributes

String formAction_ = ""

Constructor & Destructor Documentation

HTMLWriter BufferedWriter  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 86 of file HTMLWriter.java.

00086                                                                  {
00087 
00088     ofile=out;
00089     initialize(newServletPath);
00090 
00091     }

HTMLWriter 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 137 of file HTMLWriter.java.

00137                                                               {
00138 
00139     try{
00140         ofile = new BufferedWriter(out);
00141     } catch (Exception e) {
00142         System.out.println("error");
00143     }
00144     initialize(newServletPath);
00145     
00146     }

HTMLWriter 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 159 of file HTMLWriter.java.

00159                                                               {
00160 
00161     File htmlfile = new File(filename);
00162     if (htmlfile.exists()) {
00163         htmlfile.delete();
00164     }
00165     try {       
00166         htmlfile.getParentFile().mkdirs();
00167         htmlfile.createNewFile(); 
00168         ofile = new BufferedWriter(new FileWriter(htmlfile));       
00169     }    
00170     catch (Exception e) {
00171         System.out.println("Could not open file "+filename);
00172     }
00173     initialize(newServletPath);
00174     }


Member Function Documentation

void close  ) 
 

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]
 

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 display Object  object  )  throws JetWebException
 

Reimplemented in HTMLFitWriter, HTMLGeneratorWriter, HTMLModelWriter, HTMLPaperWriter, HTMLPlotWriter, and HTMLProcessWriter.

Definition at line 903 of file HTMLWriter.java.

References HTMLWriter.write().

00903                                                               {
00904     try {
00905         ofile.write(this+" display not implemented for "+object+"\n");
00906         ofile.newLine();
00907     } catch ( IOException e ) {
00908         System.out.println("problem end of list page");
00909         return;
00910     }
00911     }

synchronized void displayList List<?>  list  )  throws JetWebException
 

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 endForm  ) 
 

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  ) 
 

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 forwardTo String  htmlPath  ) 
 

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  ) 
 

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 initialize String  newServletPath  )  [private]
 

Definition at line 117 of file HTMLWriter.java.

00117                                                   {
00118 
00119     servletPath = newServletPath;
00120 
00121     dateFormat = new SimpleDateFormat("dd/MM/yyyy");
00122 
00123     dform = JetWebConfig.getFormat();
00124     
00125     }

void listHiddenPars ResultSearchPattern  pattern  ) 
 

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  ) 
 

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  ) 
 

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
 

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 makeControlForm  ) 
 

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
 

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  ) 
 

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]
 

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]
 

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]
 

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]
 

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  ) 
 

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  ) 
 

Set the date format.

Definition at line 184 of file HTMLWriter.java.

00184                                                     {
00185     dateFormat = form;
00186     }

void setHidden boolean  hide  ) 
 

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  ) 
 

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  ) 
 

Set the number format.

Definition at line 178 of file HTMLWriter.java.

00178                                                   {
00179     dform = form;
00180     }

void setVerbose boolean  verb  ) 
 

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  ) 
 

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  ) 
 

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  ) 
 

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 write String  str  )  throws JetWebException
 

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 writeDirChoiceForm String  suggestion  ) 
 

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 writeInputId String  text,
String  name,
String  hover,
Integer  id
throws JetWebException
 

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  ) 
 

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
 

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
 

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     }


Member Data Documentation

SimpleDateFormat dateFormat [protected]
 

Standard format for dates.

Definition at line 52 of file HTMLWriter.java.

NumberFormat dform [static, protected]
 

Standard format for decimals.

Definition at line 49 of file HTMLWriter.java.

String formAction_ = "" [private]
 

Keep track of which form action we think we are using. If we try and write a form with a different action to the current one we better close the current one first.

Definition at line 75 of file HTMLWriter.java.

Integer forms_ = 0 [protected]
 

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]
 

Write objects as hidden in HTML forms.

Definition at line 58 of file HTMLWriter.java.

final int LISTLENGTH = 10 [static, protected]
 

Definition at line 40 of file HTMLWriter.java.

boolean modifiable = false [protected]
 

Write objects modiable form fields.

Definition at line 55 of file HTMLWriter.java.

BufferedWriter ofile [protected]
 

Output destinatation.

Definition at line 46 of file HTMLWriter.java.

String servletPath [protected]
 

The path to be used for all links to servlets.

Definition at line 43 of file HTMLWriter.java.

boolean verbose = false [protected]
 

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