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

DBPlotManager Class Reference

List of all members.

Detailed Description

DataBase operations for paper and plot packages; PaperBank, Paper,DataPlot, PlotSelection.

Author:
S.Butterworth
Version:
Date
2007-01-12 18:57:03 +0000 (Fri, 12 Jan 2007)
Revision
1339

Definition at line 37 of file DBPlotManager.java.


Static Public Member Functions

synchronized Collection< RealPapergetRealPapers () throws JetWebException
synchronized Collection< PapergetPapers () throws JetWebException
synchronized void fillRealPaper (RealPaper paper) throws JetWebException
synchronized void fillPaper (Paper paper) throws JetWebException
synchronized int getPaperId (String dirName) throws JetWebException
synchronized void fillPlots (RealPaper paper) throws JetWebException
synchronized void fillPlots (Paper paper) throws JetWebException
synchronized void fromDB (String ConName, RealPlot plot) throws JetWebException
synchronized void fromDB (RealPlot plot) throws JetWebException
synchronized boolean addRealPaper (RealPaper paper) throws JetWebException
synchronized boolean addPaper (Paper paper) throws JetWebException
synchronized Vector< DataPointgetDataPoints (DataPlot plot) throws JetWebException
synchronized HashMap< Integer,
Paper
getPredictedPapers (Model model) throws JetWebException
synchronized void updateCrossSectionPoints (DataPlot plot) throws JetWebException
synchronized void insertData (DataPlot plot) throws JetWebException
synchronized void insertCrossSection (String ConName, RealPlot plot, int paperId) throws JetWebException
synchronized void insertCrossSection (RealPlot plot, int paperId) throws JetWebException
synchronized void updateCrossSectionLabels (RealPlot plot) throws JetWebException
synchronized void insertFittedPrediction (FittedPlot plot) throws JetWebException
synchronized int getPlotId (String ConName, int paperId, int plotNumber) throws JetWebException
synchronized int getPlotId (int paperId, int plotNumber) throws JetWebException
synchronized List< Integer > getCSSIds (int csnId, boolean sorted) throws JetWebException
synchronized List< Integer > getCsnIds (int cssId, boolean sorted) throws JetWebException
synchronized int getMaxCssId () throws JetWebException
synchronized void insertCrossSectionSet (Iterator< Integer > plotIds, int cssId) throws JetWebException
synchronized boolean plotExists (DataPlot plot, RunSeries runSeries) throws JetWebException
synchronized void populateSelection (PlotSelection selection) throws JetWebException
double[] getChi2 (int plotId, int fitId)
void selectPlotSwitch (PlotSwitch plotSwitch) throws JetWebException
HashSet< PlotSwitchgetSwitches (int plotId) throws JetWebException
int getProcId (int runSeriesId) throws JetWebException
void update (PlotSwitch ps) throws JetWebException
void add (PlotSwitch ps) throws JetWebException
synchronized void delete (PlotSwitch ps) throws JetWebException
synchronized void delete (RealPlot plot) throws JetWebException
synchronized void delete (Paper paper) throws JetWebException
Vector< PlotSwitchgetMatchedSwitches (int plotId, Generator gen) throws JetWebException

Static Public Attributes

final String REAL = "data_point"
final String PREDICTED = "predicted_point"
final String FITTED = "fitted_point"

Static Private Member Functions

void initData ()
void initRetrievePaper ()
void checkInserts ()
void fill (RealPaper paper, ResultSet dbrs) throws SQLException, JetWebException
void fill (Paper paper, ResultSet dbrs) throws SQLException, JetWebException
void fill (RealPlot plot, ResultSet csrs) throws SQLException, JetWebException
String getQueryString (DataPlot plot)
String getDeleteString (DataPlot plot)

Static Private Attributes

PreparedStatement insertRealData_
PreparedStatement insertPredictedData_
PreparedStatement insertFittedData_
PreparedStatement retrieveRealPaper_
PreparedStatement selectPlotsForPaper_
boolean initialisedData_ = false
boolean initialisedRetrievePaper_ = false

Member Function Documentation

void add PlotSwitch  ps  )  throws JetWebException [static]
 

Definition at line 1711 of file DBPlotManager.java.

01711                                                                  {
01712         String ins1 = "Insert into cross_section_switches (csn_id, process_id, ";
01713         String ins2 = "values('" + ps.getPlotId() + "','" 
01714         + ps.getMCProcessTypeId() + "','";
01715 
01716         if (ps.getParameterName() != null) {
01717             ins1 = ins1 + " parameter_name,";
01718             ins2 = ins2 + ps.getParameterName() + "','";
01719         }
01720 
01721         if (ps.getParameterValueHigh() != Double.POSITIVE_INFINITY) {
01722             ins1 = ins1 + " parameter_value_high,";
01723             ins2 = ins2 + ps.getParameterValueHigh() + "','";
01724         }
01725 
01726         if (ps.getParameterValueLow() != Double.NEGATIVE_INFINITY) {
01727             ins1 = ins1 + " parameter_value_low,";
01728             ins2 = ins2 + ps.getParameterValueLow() + "','";
01729         }
01730 
01731         if (ps.getGeneratorName() != null) {
01732             ins1 = ins1 + " generator_name,";
01733             ins2 = ins2 + ps.getGeneratorName() + "','";
01734         }
01735 
01736         ins1 = ins1 + " generator_version)";
01737         ins2 = ins2 + ps.getGeneratorVersion() + "')";
01738 
01739         try {
01740             Statement stmt = DBConfig.getConnection().createStatement();
01741             int rowsChanged = stmt.executeUpdate(ins1 + ins2);
01742             stmt.close();
01743         } catch (SQLException E) {
01744             System.out.println("SQLException: " + E.getMessage());
01745             System.out.println("SQLState:     " + E.getSQLState());
01746             System.out.println("VendorError:  " + E.getErrorCode());
01747             throw new JetWebDBException(E, ins1 + ins2, "oh dear");
01748         }
01749     }

synchronized boolean addPaper Paper  paper  )  throws JetWebException [static]
 

Updates the database, adding a new paper record or amending an existing one if a record already exists for the supplied paper. The plots associated with a paper (if any) are not affected.

Parameters:
paper the paper to add / amend in the database
Returns:
true for update, false for add
Exceptions:
JetWebException 

Definition at line 537 of file DBPlotManager.java.

00538                                {
00539         boolean paperExisted = false;
00540 
00541         if (paper.getId() > 0) {
00542             paperExisted = true;
00543 
00544             String query = "SELECT * from paper where paper_id=" + paper.getId();
00545 
00546             try {
00547                 Statement stmt = DBConfig.getConnection().createStatement();
00548                 ResultSet pprrs = stmt.executeQuery(query);
00549 
00550                 while (pprrs.next()) {
00551                     Statement stmt2 = DBConfig.getConnection().createStatement();
00552                     String mod = "UPDATE paper SET title='" + paper.getTitle() + "',reference='" +
00553                         paper.getReference() + "', directory='" + paper.getDirName() +
00554                         "', collaboration='" + paper.getCollaboration() + "', code_author='" +
00555                         paper.getCodeAuthor() + "', code_contact='" + paper.getContact() +
00556                         "', accelerator='" + paper.getAccelerator() + 
00557                         "', spires_id='" + paper.getIRN() + "' where paper_id=" +
00558                         paper.getId();
00559                     int rowsChanged = stmt2.executeUpdate(mod);
00560                     stmt2.close();
00561                 }
00562 
00563                 pprrs.close();
00564                 stmt.close();
00565             } catch (SQLException E) {
00566                 System.out.println("SQLException: " + E.getMessage());
00567                 System.out.println("SQLState:     " + E.getSQLState());
00568                 System.out.println("VendorError:  " + E.getErrorCode());
00569                 throw new JetWebDBException(E, query, "PaperId:" + paper.getId());
00570             }
00571         } else {
00572             String ins =
00573                 "Insert into paper (title, reference, directory, collaboration, accelerator, code_contact, code_author, spires_id)" +
00574                 "values('" + paper.getTitle() + "','" + paper.getReference() + "','" +
00575                 paper.getDirName() + "','" + paper.getCollaboration() + "','" +
00576                 paper.getAccelerator() + "','" + paper.getContact() + "','" +
00577                 paper.getCodeAuthor() + ","+paper.getIRN()+"')";
00578 
00579             try {
00580                 Statement stmt = DBConfig.getConnection().createStatement();
00581                 int rowsChanged = stmt.executeUpdate(ins);
00582                 stmt.close();
00583             } catch (SQLException E) {
00584                 System.out.println("SQLException: " + E.getMessage());
00585                 System.out.println("SQLState:     " + E.getSQLState());
00586                 System.out.println("VendorError:  " + E.getErrorCode());
00587                 throw new JetWebDBException(E, ins, "PaperId:" + paper.getId());
00588             }
00589         }
00590 
00591         return paperExisted;
00592     }

synchronized boolean addRealPaper RealPaper  paper  )  throws JetWebException [static]
 

Definition at line 458 of file DBPlotManager.java.

00459                           {
00460     boolean paperExisted = false;
00461 
00462     String query = "";
00463 
00464     if(paper.getId()>0){
00465         paperExisted = true;
00466         query = "SELECT * FROM paper WHERE paper_id="+paper.getId();
00467     
00468         try{
00469         Statement stmt = DBConfig.getConnection().createStatement();
00470         ResultSet pprrs = stmt.executeQuery(query);
00471         while(pprrs.next()){
00472             Statement stmt2 = 
00473             DBConfig.getConnection().createStatement();
00474             String mod = "UPDATE paper set title='" + 
00475             paper.getTitle() + "', " + 
00476             "reference='" + paper.getReference()+"', " + 
00477             "directory='" + paper.getDirName()+"', " + 
00478             "collaboration='" + paper.getCollaboration() + "', " +
00479             "code_author='" + paper.getCodeAuthor() + "', " +
00480             "code_contact='" + paper.getCodeContact() + "', " + 
00481             "accelerator='" + paper.getAccelerator() + "'," + 
00482             "spires_id='" + paper.getIRN() + "', " + 
00483             "WHERE paper_id=" + paper.getId();
00484             Integer rowsChanged = stmt2.executeUpdate(mod);
00485             stmt2.close();
00486             
00487         }
00488         pprrs.close();
00489         stmt.close();
00490 
00491         }catch(SQLException err){
00492         System.out.println("SQLException: " + err.getMessage());
00493                 System.out.println("SQLState:     " + err.getSQLState());
00494                 System.out.println("VendorError:  " + err.getErrorCode());
00495                 throw new JetWebDBException(err, query, 
00496                         "PaperId:" + paper.getId());
00497         }
00498     }else{
00499         String ins =
00500                 "Insert into paper " + 
00501         "(title, reference, directory, collaboration, " + 
00502         "accelerator, code_contact, code_author, spires_id)" +
00503                 "values('" + paper.getTitle() + "','" + 
00504         paper.getReference() + "','" +
00505                 paper.getDirName() + "','" + 
00506         paper.getCollaboration() + "','" +
00507                 paper.getAccelerator() + "','" + 
00508         paper.getCodeContact() + "','" +
00509                 paper.getCodeAuthor() + "," + 
00510         paper.getIRN()+"')";
00511 
00512             try {
00513                 Statement stmt = DBConfig.getConnection().createStatement();
00514                 int rowsChanged = stmt.executeUpdate(ins);
00515                 stmt.close();
00516             } catch (SQLException E) {
00517                 System.out.println("SQLException: " + E.getMessage());
00518                 System.out.println("SQLState:     " + E.getSQLState());
00519                 System.out.println("VendorError:  " + E.getErrorCode());
00520                 throw new JetWebDBException(E, ins, "PaperId:" + paper.getId());
00521             }
00522         }
00523     
00524     return paperExisted;
00525     }

void checkInserts  )  [static, private]
 

Definition at line 124 of file DBPlotManager.java.

00124                                       {
00125     
00126     boolean start = initialisedData_;
00127     initData();
00128     if(start!=initialisedData_) return;
00129 
00130     //Just a test because sometimes we drop the preparedstatement
00131     //if we lose the connection to the DB
00132     try{
00133         try{
00134         insertRealData_.setInt(1, 1);
00135         }catch(NullPointerException err){
00136         //presume DB connection is lost if we get here :(
00137         System.out.println
00138             ("Lost DB connection!  Getting new PreparedStatements");
00139         insertRealData_.close();
00140         insertPredictedData_.close();
00141         insertFittedData_.close();
00142         initialisedData_ = false;
00143         initData();
00144         }
00145     }catch(SQLException sqlErr){
00146         System.out.println
00147         ("DBPlotManager: unable to check status of DB connection");
00148         System.out.println(sqlErr.getMessage());
00149         sqlErr.printStackTrace();
00150     }
00151     return;
00152     }

synchronized void delete Paper  paper  )  throws JetWebException [static]
 

Delete this paper from the data base.

Definition at line 1801 of file DBPlotManager.java.

01802                                {
01803 
01804     try {
01805         Connection con = DBConfig.getConnection();
01806             Statement stmt = con.createStatement();
01807             stmt.executeUpdate("DELETE FROM paper WHERE paper_id="+paper.getId());
01808             stmt.close();
01809         } catch (SQLException e) {
01810             System.out.println("Error deleting plot");
01811             throw new JetWebDBException(e, "lots of SQL", "PaperId:" + paper.getId());
01812         }
01813     paper=null;
01814     }

synchronized void delete RealPlot  plot  )  throws JetWebException [static]
 

Delete this plot from the data base and remove all record of it from the paper. Also delete all predictions and fits for this plot.

Definition at line 1777 of file DBPlotManager.java.

01778                                {
01779 
01780     try {
01781         Connection con = DBConfig.getConnection();
01782         con.setAutoCommit(false);
01783             Statement stmt = con.createStatement();
01784             stmt.executeUpdate("DELETE FROM data_point WHERE csn_id="+plot.getId());
01785             stmt.executeUpdate("DELETE FROM predicted_point WHERE csn_id="+plot.getId());
01786             stmt.executeUpdate("DELETE FROM fitted_point WHERE csn_id="+plot.getId());
01787             stmt.executeUpdate("DELETE FROM cross_section_switches WHERE csn_id="+plot.getId());
01788             stmt.executeUpdate("DELETE FROM cross_section WHERE csn_id="+plot.getId());
01789             stmt.executeUpdate("DELETE FROM cross_section_set WHERE csn_id="+plot.getId());
01790             stmt.close();
01791         con.commit();
01792         } catch (SQLException e) {
01793             System.out.println("Error deleting plot");
01794             throw new JetWebDBException(e, "lots of SQL", "CsnId:" + plot.getId());
01795         }
01796     plot=null;
01797     }

synchronized void delete PlotSwitch  ps  )  throws JetWebException [static]
 

Clears down an existing PlotSwitch from the DB.

Parameters:
ps PlotSwitch to be deleted
Exceptions:
JetWebException 

Definition at line 1757 of file DBPlotManager.java.

References CutCollection.getId().

01758                                {
01759         String deleteString = "DELETE FROM cross_section_switches WHERE switch_id=" + ps.getId();
01760 
01761         try {
01762             Statement stmt = DBConfig.getConnection().createStatement();
01763             stmt.executeUpdate(deleteString);
01764             stmt.close();
01765         } catch (SQLException e) {
01766             System.out.println("Error deleting PlotSwitch");
01767             throw new JetWebDBException(e, deleteString, "PlotSwitchId:" + ps.getId());
01768         }
01769     }

void fill RealPlot  plot,
ResultSet  csrs
throws SQLException, JetWebException [static, private]
 

Definition at line 594 of file DBPlotManager.java.

00595                                              {
00596         plot.setPaperId(csrs.getInt("paper_id"));
00597         plot.setNumber(csrs.getInt("plot_number"));
00598         plot.setTitle(csrs.getString("title"));
00599         plot.setXLabel(csrs.getString("x_axis_title"));
00600         plot.setYLabel(csrs.getString("y_axis_title"));
00601         plot.setId(csrs.getInt("csn_id"));
00602         plot.setShape(csrs.getInt("is_shape") == 1);
00603     
00604     Integer cutId = csrs.getInt("cut_collection_id");
00605     if(cutId!=null){
00606         CutCollection cuts = new CutCollection(cutId);
00607         plot.setCutCollection(cuts);
00608     }
00609 
00610         if (csrs.getInt("in_default") >= 1) {
00611             plot.setDefaultSum(true);
00612         }
00613 
00614         if (csrs.getInt("in_default") == 2) {
00615             plot.setDefaultFit(true);
00616         }
00617 
00618         if (csrs.getString("y_axis_type").equals("log")) {
00619             plot.setLogarithmic(true);
00620         } else {
00621             plot.setLogarithmic(false);
00622         }
00623 
00624         plot.setSysScale(csrs.getFloat("scale_factor"));
00625 
00626         plot.setCollisionId(csrs.getInt("collision_id"));
00627 
00628         if (!plot.populateDBData()) {
00629             System.out.println("WARNING: datapoints not filled for DataPlot " + plot.getNumber());
00630         }
00631     }

void fill Paper  paper,
ResultSet  dbrs
throws SQLException, JetWebException [static, private]
 

Definition at line 319 of file DBPlotManager.java.

00320                                              {
00321         if (paper.isReal()) {
00322             paper.setAccelerator(dbrs.getString("accelerator"));
00323             paper.setDirName(dbrs.getString("directory"));
00324             paper.setReference(dbrs.getString("reference"));
00325             paper.setTitle(dbrs.getString("title"));
00326             paper.setID(dbrs.getInt("paper_id"));
00327             paper.setCollaboration(dbrs.getString("collaboration"));
00328             paper.setCodeAuthor(dbrs.getString("code_author"));
00329             paper.setContact(dbrs.getString("code_contact"));
00330             paper.setIRN(dbrs.getInt("spires_id"));
00331 
00332             // Now the plots.
00333             fillPlots(paper);
00334         } else {
00335             throw new JetWebDBException("Attempt to fill MC Paper from DB is not valid",
00336                 "PaperId:" + paper.getId());
00337         }
00338     }

void fill RealPaper  paper,
ResultSet  dbrs
throws SQLException, JetWebException [static, private]
 

Definition at line 304 of file DBPlotManager.java.

00305                                         {
00306     paper.setAccelerator(dbrs.getString("accelerator"));
00307     paper.setDirName(dbrs.getString("directory"));
00308     paper.setReference(dbrs.getString("reference"));
00309     paper.setTitle(dbrs.getString("title"));
00310     paper.setId(dbrs.getInt("paper_id"));
00311     paper.setCollaboration(dbrs.getString("collaboration"));
00312     paper.setCodeAuthor(dbrs.getString("code_author"));
00313     paper.setCodeContact(dbrs.getString("code_contact"));
00314     paper.setIRN(dbrs.getInt("spires_id"));
00315     fillPlots(paper);
00316     return;
00317     }

synchronized void fillPaper Paper  paper  )  throws JetWebException [static]
 

Retrieve the data for a Paper from the DataBase.

Exceptions:
JetWebException 

Definition at line 246 of file DBPlotManager.java.

00247                                {
00248         String selectString = "SELECT * from paper where paper_id=" + paper.getId();
00249         boolean filled = false;
00250 
00251         try {
00252             Statement stmt = DBConfig.getConnection().createStatement();
00253             ResultSet dbrs = stmt.executeQuery(selectString);
00254 
00255             while (dbrs.next()) {
00256                 fill(paper, dbrs);
00257                 filled = true;
00258             }
00259 
00260             dbrs.close();
00261             stmt.close();
00262         } catch (SQLException E) {
00263             System.out.println("SQLException: " + E.getMessage());
00264             System.out.println("SQLState:     " + E.getSQLState());
00265             System.out.println("VendorError:  " + E.getErrorCode());
00266             throw new JetWebDBException(E, selectString, "");
00267         }
00268 
00269         if (!filled) {
00270             throw new JetWebException("Paper not filled.", " ");
00271         }
00272     }

synchronized void fillPlots Paper  paper  )  throws JetWebException [static]
 

Finds all the plots for the specified paper. Adds them to the collection on the paper.

Parameters:
paper for which plots are to be retrieved

Definition at line 371 of file DBPlotManager.java.

00372                                {
00373         // Run a query looking for all plots in the cross_section table which
00374         // match this paper_id.
00375         String query = "SELECT * from cross_section where paper_id=" +
00376             Integer.toString(paper.getId());
00377 
00378         try {
00379             Statement stmt = DBConfig.getConnection().createStatement();
00380             ResultSet csrs = stmt.executeQuery(query);
00381 
00382             while (csrs.next()) {
00383                 RealPlot plot = new RealPlot();
00384 
00385                 //System.out.println("plot got");
00386                 fill(plot, csrs);
00387                 paper.addPlot(plot);
00388             }
00389 
00390             csrs.close();
00391             stmt.close();
00392         } catch (SQLException E) {
00393             System.out.println("SQLException: " + E.getMessage());
00394             System.out.println("SQLState:     " + E.getSQLState());
00395             System.out.println("VendorError:  " + E.getErrorCode());
00396             throw new JetWebDBException(E, query, "PaperId:" + paper.getId());
00397         }
00398     }

synchronized void fillPlots RealPaper  paper  )  throws JetWebException [static]
 

Finds all plots for the given RealPaper and adds them to it

Definition at line 344 of file DBPlotManager.java.

00345                           {
00346     initRetrievePaper();
00347     try{
00348         selectPlotsForPaper_.setInt(1, paper.getId());
00349         ResultSet csrs = selectPlotsForPaper_.executeQuery();
00350         while(csrs.next()){
00351         RealPlot plot = new RealPlot();
00352         fill(plot, csrs);
00353         paper.addPlot(plot);
00354         }
00355         selectPlotsForPaper_.clearParameters();
00356     }catch(SQLException E){
00357         System.out.println("SQLException: " + E.getMessage());
00358             System.out.println("SQLState:     " + E.getSQLState());
00359             System.out.println("VendorError:  " + E.getErrorCode());
00360             throw new JetWebDBException(E, "SELECT", 
00361                     "PaperId:" + paper.getId());
00362     }
00363     }

synchronized void fillRealPaper RealPaper  paper  )  throws JetWebException [static]
 

retrieve the data for a real paper from the database

Definition at line 213 of file DBPlotManager.java.

00214                           {
00215     
00216     initRetrievePaper();
00217     boolean filled = false;
00218 
00219     try{
00220         retrieveRealPaper_.setInt(1, paper.getId());
00221         ResultSet dbrs = retrieveRealPaper_.executeQuery();
00222         while(dbrs.next()){
00223         fill(paper, dbrs);
00224         filled = true;
00225         }
00226         dbrs.close();
00227         retrieveRealPaper_.clearParameters();
00228     }catch(SQLException err){
00229         System.out.println("SQLException: " + err.getMessage());
00230             System.out.println("SQLState:     " + err.getSQLState());
00231             System.out.println("VendorError:  " + err.getErrorCode());
00232             throw new JetWebDBException(err, ((Integer)paper.getId()).toString(), "");
00233     }
00234 
00235     if(!filled){
00236         throw new JetWebException("Paper not filled."," ");
00237     }
00238     return;
00239     }

synchronized void fromDB RealPlot  plot  )  throws JetWebException [static]
 

Definition at line 430 of file DBPlotManager.java.

00431                                {
00432         // Run a query looking for all plots in the cross_section table which
00433         // match this paper_id.
00434         String query = "SELECT * from cross_section where csn_id=" +
00435             Integer.toString(plot.getId());
00436 
00437         try {
00438         Statement stmt = DBConfig.getConnection().createStatement();
00439         //Statement stmt = DBConfig.getDBConnectionManager().
00440         //getConnection("hepdata").createStatement();
00441             ResultSet csrs = stmt.executeQuery(query);
00442 
00443             while (csrs.next()) {
00444                 //System.out.println("plot got");
00445                 fill(plot, csrs);
00446             }
00447 
00448             csrs.close();
00449             stmt.close();
00450         } catch (SQLException E) {
00451             System.out.println("SQLException: " + E.getMessage());
00452             System.out.println("SQLState:     " + E.getSQLState());
00453             System.out.println("VendorError:  " + E.getErrorCode());
00454             throw new JetWebDBException(E, query, "PlotId:" + plot.getId());
00455         }
00456     }

synchronized void fromDB String  ConName,
RealPlot  plot
throws JetWebException [static]
 

Fills a RealPlot from the database.

Definition at line 404 of file DBPlotManager.java.

00405                                {
00406         // Run a query looking for all plots in the cross_section table which
00407         // match this paper_id.
00408         String query = "SELECT * from cross_section where csn_id=" +
00409             Integer.toString(plot.getId());
00410 
00411         try {
00412             Statement stmt = DBConfig.getConnection().createStatement();
00413             ResultSet csrs = stmt.executeQuery(query);
00414 
00415             while (csrs.next()) {
00416                 //System.out.println("plot got");
00417                 fill(plot, csrs);
00418             }
00419 
00420             csrs.close();
00421             stmt.close();
00422         } catch (SQLException E) {
00423             System.out.println("SQLException: " + E.getMessage());
00424             System.out.println("SQLState:     " + E.getSQLState());
00425             System.out.println("VendorError:  " + E.getErrorCode());
00426             throw new JetWebDBException(E, query, "PlotId:" + plot.getId());
00427         }
00428     }

double [] getChi2 int  plotId,
int  fitId
[static]
 

Definition at line 1524 of file DBPlotManager.java.

01524                                                           {
01525         String queryString = "";
01526         double[] chi2 = { 0.0, 0.0 };
01527 
01528         try {
01529             Statement stmt = DBConfig.getConnection().createStatement();
01530             queryString = "SELECT * FROM fitted_prediction WHERE fit_id=" + fitId + " AND csn_id=" +
01531                 plotId;
01532 
01533             ResultSet rs = stmt.executeQuery(queryString);
01534 
01535             while (rs.next()) {
01536                 chi2[0] = rs.getFloat("chi2");
01537                 chi2[1] = rs.getFloat("dof");
01538             }
01539 
01540             rs.close();
01541             stmt.close();
01542         } catch (SQLException e) {
01543             System.out.println("Error reading fitted_prediction table ");
01544             System.out.println(e);
01545             System.out.println("SQL was: " + queryString);
01546 
01547             //throw new JetWebDBException(e,queryString,"CssId="+cssId);
01548             //  } catch (JetWebException e) {
01549             //      throw e;
01550         }
01551 
01552         return chi2;
01553     }

synchronized List<Integer> getCsnIds int  cssId,
boolean  sorted
throws JetWebException [static]
 

Retrieves database IDs of all CrossSections belonging to a given CrossSectionSet. Optionally, the list of IDs can be sorted.

Parameters:
cssId identifies the crosssectionset
sorted - if true, the list retrieved will be sorted
Returns:
a List of crossSection Ids (Integer values), optionally sorted
Exceptions:
JetWebException 

Definition at line 1355 of file DBPlotManager.java.

01357                                {
01358         List<Integer> csns = new ArrayList<Integer>();
01359 
01360         //find all csns belonging to this set
01361         String queryString = "SELECT csn_id FROM cross_section_set WHERE csn_set_id=" + cssId;
01362 
01363         //+" ORDER BY csn_id";
01364         try {
01365             Statement stmt = DBConfig.getConnection().createStatement();
01366             ResultSet rs = stmt.executeQuery(queryString);
01367 
01368             while (rs.next()) {
01369                 csns.add(new Integer(rs.getInt("csn_id")));
01370             }
01371 
01372             rs.close();
01373             stmt.close();
01374         } catch (SQLException e) {
01375             System.out.println("Error reading cross_section_set table " + e);
01376             throw new JetWebDBException(e, queryString, "CrossSectionSetId:" + cssId);
01377         }
01378 
01379         if (sorted) {
01380             Collections.sort(csns);
01381         }
01382 
01383         return csns;
01384     }

synchronized List<Integer> getCSSIds int  csnId,
boolean  sorted
throws JetWebException [static]
 

Retrieves database IDs of all CrossSectionSets containing a given CrossSection. Optionally, the list of IDs can be sorted.

Parameters:
csnId identifies the crosssection that must be in the sets
sorted - if true, the list retrieved will be sorted
Returns:
a List of crossSectionSet Ids (Integer values), optionally sorted
Exceptions:
JetWebException 

Definition at line 1317 of file DBPlotManager.java.

01318                                {
01319         List<Integer> sets = new ArrayList<Integer>();
01320 
01321         //get all cross section sets for a cross section
01322         String queryString = "SELECT csn_set_id FROM cross_section_set WHERE csn_id=" + csnId;
01323 
01324         try {
01325             Statement stmt = DBConfig.getConnection().createStatement();
01326             ResultSet rs = stmt.executeQuery(queryString);
01327 
01328             while (rs.next()) {
01329                 sets.add(new Integer(rs.getInt("csn_set_id")));
01330             }
01331 
01332             rs.close();
01333             stmt.close();
01334         } catch (SQLException e) {
01335             System.out.println("Error reading cross_section_set table " + e);
01336             throw new JetWebDBException(e, queryString, "CrossSectionId:" + csnId);
01337         }
01338 
01339         if (sorted) {
01340             Collections.sort(sets);
01341         }
01342 
01343         return sets;
01344     }

synchronized Vector<DataPoint> getDataPoints DataPlot  plot  )  throws JetWebException [static]
 

Retrieves the collection of points for a dataplot from the database. Queries data_point / predicted_point / fitted_point for real / predicted / fitted data.

Parameters:
plot for which points are to be retrieved
Returns:
vector of data point objects
Exceptions:
JetWebException 

Definition at line 641 of file DBPlotManager.java.

References DataPoint.add(), DataPoint.getNumber(), DataPoint.setBinWidth(), DataPoint.setChi2(), DataPoint.setNumber(), DataPoint.setX(), DataPoint.setY(), DataPoint.setYDown(), DataPoint.setYUp(), and DataPoint.toString().

00642                                {
00643         //select records from appropriate table for this cross_section
00644         String queryString = getQueryString(plot);
00645     System.out.println(queryString);
00646         Vector<DataPoint> dataPoints = new Vector<DataPoint>();
00647     HashMap<Integer, DataPoint> pointMap = 
00648         new HashMap<Integer, DataPoint>();
00649 
00650     HashMap<Integer, Boolean> isInCuts = null;
00651 
00652     if(plot instanceof PredictedPlot){
00653         isInCuts = new HashMap<Integer, Boolean>();
00654     }
00655      
00656 
00657         try {
00658             Statement stmt = DBConfig.getConnection().createStatement();
00659             ResultSet dsrs = stmt.executeQuery(queryString);
00660 
00661             while (dsrs.next()) {
00662 
00663         //check that the runseries for this data_point 
00664         //generates data in the correct region.
00665 
00666         boolean inCuts = true;
00667 
00668         if(plot instanceof PredictedPlot){
00669 
00670             Integer rsid = dsrs.getInt("runseries_id");
00671 
00672             Boolean foundInCuts = isInCuts.get(rsid);
00673 
00674             if(foundInCuts==null){
00675 
00676             String selectCuts = 
00677                 "SELECT cut_collection_id FROM runseries WHERE " + 
00678                 "runseries_id = " + dsrs.getInt("runseries_id");
00679 
00680             System.out.println(selectCuts);
00681             
00682             Statement cutstmt = 
00683                 DBConfig.getConnection().createStatement();
00684             ResultSet rs = cutstmt.executeQuery(selectCuts);
00685             
00686             while(rs.next()){
00687                 CutCollection runCuts = 
00688                 new CutCollection(rs.getInt(1));
00689                 inCuts = plot.getCutCollection().isWithin(runCuts);
00690             }
00691 
00692             isInCuts.put(rsid, inCuts);
00693 
00694             }else{
00695             inCuts = foundInCuts;
00696             }
00697         }
00698 
00699         if(inCuts){
00700             //add a new DataPoint 
00701             DataPoint point = new DataPoint();
00702             point.setX(dsrs.getFloat("x"));
00703             point.setY(dsrs.getFloat("y"));
00704             point.setYUp(dsrs.getFloat("dy_up"));
00705             point.setYDown(dsrs.getFloat("dy_down"));
00706             point.setBinWidth(dsrs.getFloat("bin_width"));
00707             point.setNumber(dsrs.getInt("pnt_no"));
00708             //0,x 1,y, 2,ye 3,ye 4, bin width 5, chi2
00709             if (plot instanceof FittedPlot){
00710             point.setChi2(dsrs.getFloat("chi2"));
00711             }
00712         
00713             //System.out.println("Read datapoint for plot " + 
00714             //         plot.getId() + 
00715             //         point.toString());
00716 
00717 
00718             //Integer pointNumber = dsrs.getInt("pnt_no");
00719             Integer pointNumber = point.getNumber();
00720 
00721             DataPoint existingPoint = 
00722             pointMap.get(pointNumber);
00723     
00724             if(existingPoint != null ){
00725 
00726             System.out.println("Found existing point: " +
00727                        existingPoint.toString());
00728 
00729             point.add(existingPoint);
00730             }
00731 
00732             pointMap.put(pointNumber, point);
00733 
00734             //dataPoints.add(point);
00735         }
00736 
00737             }
00738 
00739         dataPoints = new Vector<DataPoint>(pointMap.values());
00740 
00741         
00742 
00743             dsrs.close();
00744             stmt.close();
00745         } catch (SQLException e) {
00746             System.out.println("Error reading data points " + e);
00747             throw new JetWebDBException(e, queryString, "DataPlot.id:" + plot.getId());
00748         }
00749 
00750     Collections.sort(dataPoints);
00751 
00752         return dataPoints;
00753     }

String getDeleteString DataPlot  plot  )  [static, private]
 

Definition at line 952 of file DBPlotManager.java.

References DataPlot.getId().

00952                                                          {
00953         String rtn = "";
00954 
00955         if (plot instanceof PredictedPlot) {
00956             rtn = "DELETE FROM " + PREDICTED + " WHERE csn_id=" + plot.getId() +
00957                 " and runseries_id=" + ((PredictedPlot) plot).getRunSeriesId();
00958         } else if (plot instanceof FittedPlot) {
00959             rtn = "DELETE FROM " + FITTED + " WHERE csn_id=" + plot.getId() + " and fitted_id=" +
00960                 ((FittedPlot) plot).getFit().getId();
00961         } else if (plot instanceof RealPlot) {
00962             rtn = "DELETE FROM " + REAL + " WHERE csn_id=" + plot.getId();
00963         }
00964 
00965         return rtn;
00966     }

Vector<PlotSwitch> getMatchedSwitches int  plotId,
Generator  gen
throws JetWebException [static]
 

Return the PlotSwitches (in a Vector) for this plotId which most specifically match the input RunSeries. That is, those which match both generator and version if specified; if not, those that match the generator and do not specify a version; if not, then those which specify neither generator nor version.

Definition at line 1824 of file DBPlotManager.java.

01825                                {
01826         Vector<PlotSwitch> list = new Vector<PlotSwitch>();
01827 
01828         String selectString = 
01829         "SELECT switch_id from cross_section_switches where csn_id=" +
01830             plotId + 
01831         " and generator_name='" + gen.getName() + 
01832         "' and generator_version='" + gen.getVersion() + "'";
01833 
01834         try {
01835             Statement stmt = DBConfig.getConnection().createStatement();
01836             ResultSet dbrs = stmt.executeQuery(selectString);
01837 
01838             while (dbrs.next()) {
01839                 PlotSwitch ps = new PlotSwitch(dbrs.getInt("switch_id"));
01840                 list.add(ps);
01841             }
01842 
01843             dbrs.close();
01844             stmt.close();
01845 
01846             if (list.size() == 0) {
01847                 selectString = "SELECT switch_id from cross_section_switches where csn_id=" +
01848                     plotId + " and generator_name='" + gen.getName() + "'";
01849 
01850                 stmt = DBConfig.getConnection().createStatement();
01851                 dbrs = stmt.executeQuery(selectString);
01852 
01853                 while (dbrs.next()) {
01854                     PlotSwitch ps = new PlotSwitch(dbrs.getInt("switch_id"));
01855                     list.add(ps);
01856                 }
01857 
01858                 dbrs.close();
01859                 stmt.close();
01860             }
01861 
01862             if (list.size() == 0) {
01863                 selectString = "SELECT switch_id from cross_section_switches where csn_id=" +
01864                     plotId;
01865 
01866                 stmt = DBConfig.getConnection().createStatement();
01867                 dbrs = stmt.executeQuery(selectString);
01868 
01869                 while (dbrs.next()) {
01870                     PlotSwitch ps = new PlotSwitch(dbrs.getInt("switch_id"));
01871                     list.add(ps);
01872                 }
01873 
01874                 dbrs.close();
01875                 stmt.close();
01876             }
01877 
01878             return list;
01879         } catch (SQLException E) {
01880             System.out.println("SQLException: " + E.getMessage());
01881             System.out.println("SQLState:     " + E.getSQLState());
01882             System.out.println("VendorError:  " + E.getErrorCode());
01883             throw new JetWebDBException(E, selectString, "");
01884         }
01885     }

synchronized int getMaxCssId  )  throws JetWebException [static]
 

Returns highest value CrossSectionSetId. This method is necessary for the generation of new CrossSectionSet IDs because there are no database sequences in mySQL.

Returns:
largest value of crosssection set id in the database
Exceptions:
JetWebException 

Definition at line 1395 of file DBPlotManager.java.

01395                                                                         {
01396         int cssId = 0;
01397         String query = "SELECT MAX(csn_set_id) FROM cross_section_set";
01398 
01399         try {
01400             Statement stmt = DBConfig.getConnection().createStatement();
01401             ResultSet rs = stmt.executeQuery(query);
01402 
01403             if (rs.next()) {
01404                 cssId = rs.getInt(1);
01405             }
01406 
01407             rs.close();
01408             stmt.close();
01409         } catch (SQLException e) {
01410             System.out.println("Error reading cross_section_set table " + e);
01411             throw new JetWebDBException(e, query, "");
01412         }
01413 
01414         return cssId;
01415     }

synchronized int getPaperId String  dirName  )  throws JetWebException [static]
 

Retrieves ID of a paper, given its directory

Parameters:
dirname name of the directory containing files relevant to a paper
Returns:
paper id from database
Exceptions:
JetWebException 

Definition at line 281 of file DBPlotManager.java.

00282                                {
00283         int paperId = -1;
00284         String query = "SELECT paper_id FROM paper WHERE directory='" + dirName + "'";
00285 
00286         try {
00287             Statement stmt = DBConfig.getConnection().createStatement();
00288             ResultSet rs = stmt.executeQuery(query);
00289 
00290             if (rs.next()) {
00291                 paperId = rs.getInt("paper_id");
00292             }
00293 
00294             rs.close();
00295             stmt.close();
00296         } catch (SQLException e) {
00297             System.out.println("Failed to select paperId for dirname:" + dirName + "error:" + e);
00298             throw new JetWebDBException(e, query, "Directory:" + dirName);
00299         }
00300 
00301         return paperId;
00302     }

synchronized Collection<Paper> getPapers  )  throws JetWebException [static]
 

Definition at line 182 of file DBPlotManager.java.

00183                                {
00184         Vector<Paper> papers = new Vector<Paper>();
00185         String selectString = "SELECT * from paper";
00186 
00187         try {
00188             Statement stmt = DBConfig.getConnection().createStatement();
00189             ResultSet dbrs = stmt.executeQuery(selectString);
00190 
00191             while (dbrs.next()) {
00192                 Paper paper = new Paper(true);
00193                 fill(paper, dbrs);
00194                 papers.add(paper);
00195             }
00196 
00197             dbrs.close();
00198             stmt.close();
00199         } catch (SQLException E) {
00200             System.out.println("SQLException: " + E.getMessage());
00201             System.out.println("SQLState:     " + E.getSQLState());
00202             System.out.println("VendorError:  " + E.getErrorCode());
00203             throw new JetWebDBException(E, selectString, "");
00204         }
00205 
00206         return papers;
00207     }

synchronized int getPlotId int  paperId,
int  plotNumber
throws JetWebException [static]
 

Definition at line 1279 of file DBPlotManager.java.

01280                                {
01281         int csnId = -1;
01282         String sqlString = "SELECT csn_id FROM cross_section WHERE paper_id=" + paperId +
01283             " AND plot_number=" + plotNumber;
01284 
01285     System.out.println(sqlString);
01286 
01287         try {
01288             Statement stmt = DBConfig.getConnection().createStatement();
01289             ResultSet rs = stmt.executeQuery(sqlString);
01290 
01291             if (rs.next()) {
01292                 csnId = rs.getInt("csn_id");
01293             }
01294 
01295             rs.close();
01296             stmt.close();
01297         } catch (SQLException e) {
01298             System.out.println("DB access error in getPlotId:" + e);
01299             System.out.println("SQL was: " + sqlString);
01300 
01301             throw new JetWebDBException(e, sqlString,
01302                 "PaperId:" + paperId + "plotNumber:" + plotNumber);
01303         }
01304 
01305         return csnId;
01306     }

synchronized int getPlotId String  ConName,
int  paperId,
int  plotNumber
throws JetWebException [static]
 

Retrieves DB Id of a plot, given the paper and plot number

Parameters:
ConName name of data base to query for paper
paperId of paper to which plot belongs
plotNumber number of the plot in the paper
Returns:
plotId, -1 if not found
Exceptions:
JetWebException 

Definition at line 1252 of file DBPlotManager.java.

01253                                {
01254         int csnId = -1;
01255         String sqlString = "SELECT csn_id FROM cross_section WHERE paper_id=" + paperId +
01256             " AND plot_number=" + plotNumber;
01257 
01258         try {
01259             Statement stmt = DBConfig.getConnection().createStatement();
01260             ResultSet rs = stmt.executeQuery(sqlString);
01261 
01262             if (rs.next()) {
01263                 csnId = rs.getInt("csn_id");
01264             }
01265 
01266             rs.close();
01267             stmt.close();
01268         } catch (SQLException e) {
01269             System.out.println("DB access error in getPlotId:" + e);
01270             System.out.println("SQL was: " + sqlString);
01271 
01272             throw new JetWebDBException(e, sqlString,
01273                 "PaperId:" + paperId + "plotNumber:" + plotNumber);
01274         }
01275 
01276         return csnId;
01277     }

synchronized HashMap<Integer, Paper> getPredictedPapers Model  model  )  throws JetWebException [static]
 

Definition at line 756 of file DBPlotManager.java.

References Paper.addPlot(), CutCollection.isWithin(), RunSeries.Maker(), Paper.setAccelerator(), Paper.setCodeAuthor(), Paper.setCollaboration(), Paper.setContact(), Paper.setDirName(), Paper.setID(), Paper.setIRN(), Paper.setReference(), and Paper.setTitle().

00756                                                           {
00757     
00758     HashMap<Integer, Paper> foundPapers = 
00759         new HashMap<Integer, Paper>();
00760 
00761     try{
00762         PreparedStatement pstmt = 
00763         DBConfig.getConnection().prepareStatement
00764         ("select cross_section.paper_id, " + 
00765          "cross_section.cut_collection_id, " + 
00766          "predicted_point.runseries_id, " + 
00767          "runseries.cut_collection_id, " + 
00768          "cross_section.csn_id from " + 
00769          "cross_section, predicted_point, model, " + 
00770          "runseries_collection, runseries where " + 
00771          "runseries.runseries_id = " + 
00772          "runseries_collection.runseries_id and " + 
00773          "runseries_collection.runseries_collection_id =" + 
00774          "model.runseries_collection_id and " + 
00775          "runseries_collection.runseries_id =" + 
00776          "predicted_point.runseries_id and " + 
00777          "predicted_point.csn_id =cross_section.csn_id and " + 
00778          "model.mdl_id =?");
00779 
00780         pstmt.setInt(1, model.getId());
00781         ResultSet rs = pstmt.executeQuery();
00782             
00783         HashMap<Integer, PredictedPlot> foundPlots = 
00784         new HashMap<Integer, PredictedPlot>();
00785         
00786         HashMap<Integer, CutCollection> paperCuts = 
00787         new HashMap<Integer, CutCollection>();
00788         
00789         HashMap<Integer, CutCollection> rsCuts = 
00790         new HashMap<Integer, CutCollection>();
00791         
00792         HashMap<Integer, RunSeries> foundRunSeries = 
00793         new HashMap<Integer, RunSeries>();
00794 
00795         PreparedStatement paperStmt = 
00796         DBConfig.getConnection().prepareStatement
00797         ("SELECT * FROM paper where paper_id=?");
00798         
00799         PreparedStatement plotStmt = 
00800         DBConfig.getConnection().prepareStatement
00801         ("SELECT * FROM cross_section WHERE csn_id=?");
00802 
00803         while(rs.next()){
00804         Integer paperId = rs.getInt(1);
00805         Paper mcpaper;
00806         Integer paperCutsId = rs.getInt(2);
00807         Integer rsId = rs.getInt(3);
00808         Integer rsCutsId = rs.getInt(4);
00809         Integer plotId = rs.getInt(5);
00810         
00811         CutCollection paperCut = paperCuts.get(paperCutsId);
00812         CutCollection rsCut = rsCuts.get(rsCutsId);
00813         
00814         if(paperCut==null){
00815             paperCut = new CutCollection(paperCutsId);
00816             paperCuts.put(paperCutsId, paperCut);
00817         }
00818         
00819         if(rsCut==null){
00820             rsCut = new CutCollection(rsCutsId);
00821             rsCuts.put(rsCutsId, rsCut);
00822         }
00823         
00824         boolean inCuts = paperCut.isWithin(rsCut);
00825         if(inCuts){
00826             if(!foundPapers.containsKey(paperId)){
00827             
00828             mcpaper = new Paper(false);
00829             
00830             paperStmt.setInt(1, paperId);
00831             ResultSet paperRs = paperStmt.executeQuery();
00832             
00833             if(paperRs.next()){
00834                 mcpaper.setAccelerator(paperRs.getString("accelerator"));
00835                 mcpaper.setDirName(paperRs.getString("directory"));
00836                 mcpaper.setReference(paperRs.getString("reference"));
00837                 mcpaper.setTitle(paperRs.getString("title"));
00838                 mcpaper.setID(paperId);
00839                 mcpaper.setCollaboration
00840                 (paperRs.getString("collaboration"));
00841                 mcpaper.setCodeAuthor(paperRs.getString("code_author"));
00842                 mcpaper.setContact(paperRs.getString("code_contact"));
00843                 mcpaper.setIRN(paperRs.getInt("spires_id"));
00844                 foundPapers.put(paperId, mcpaper);
00845             }
00846             
00847             }else{
00848             mcpaper = foundPapers.get(paperId);
00849             }
00850             
00851             PredictedPlot plot = foundPlots.get(plotId);
00852 
00853             if(plot==null){
00854             RealPlot compPlot = new RealPlot();
00855             
00856             plotStmt.setInt(1, plotId);
00857             
00858             ResultSet plotRs = plotStmt.executeQuery();
00859             if(plotRs.next()){
00860                 fill(compPlot, plotRs);
00861 
00862                 RunSeries runseries = foundRunSeries.get(rsId);
00863                 if(runseries==null){
00864                 runseries = RunSeries.Maker(rsId);
00865                 }
00866 
00867                 plot = new PredictedPlot(compPlot, runseries);
00868                 foundPlots.put(plotId, plot);
00869             }
00870             mcpaper.addPlot(plot);
00871             }
00872         }
00873         }
00874     }catch(SQLException err){
00875         throw new JetWebException(err);
00876     }
00877     return foundPapers; 
00878     }

int getProcId int  runSeriesId  )  throws JetWebException [static]
 

Return the MCProcessId for the given RunSeriesId.

Exceptions:
JetWebException 

Definition at line 1643 of file DBPlotManager.java.

01643                                                                         {
01644         int procId;
01645 
01646         String selectString = "SELECT process_id from runseries WHERE runseries_id=" + runSeriesId;
01647 
01648         try {
01649             Statement stmt = DBConfig.getConnection().createStatement();
01650             ResultSet dbrs = stmt.executeQuery(selectString);
01651             dbrs.next();
01652             procId = dbrs.getInt("process_id");
01653             dbrs.close();
01654             stmt.close();
01655         } catch (SQLException E) {
01656             System.out.println("SQLException: " + E.getMessage());
01657             System.out.println("SQLState:     " + E.getSQLState());
01658             System.out.println("VendorError:  " + E.getErrorCode());
01659             throw new JetWebDBException(E, selectString, "");
01660         }
01661 
01662         return procId;
01663     }

String getQueryString DataPlot  plot  )  [static, private]
 

Definition at line 881 of file DBPlotManager.java.

References DataPlot.getId().

00881                                                         {
00882         String rtn = "";
00883     
00884         if (plot instanceof PredictedPlot) {
00885         /*
00886             rtn = "SELECT * FROM " + PREDICTED + " where csn_id=" + plot.getId() +
00887                 " and runseries_id=" + ((PredictedPlot) plot).getRunSeriesId();
00888     */
00889         rtn = "SELECT " + PREDICTED + ".* FROM " + 
00890         PREDICTED + ", runseries_collection " +
00891         "WHERE " + PREDICTED + ".csn_id = " + plot.getId() + 
00892         " AND " + PREDICTED + 
00893         ".runseries_id=runseries_collection.runseries_id AND " + 
00894         "runseries_collection.runseries_collection_id =  " + 
00895         "(SELECT runseries_collection_id FROM runseries_collection " + 
00896         "WHERE runseries_id = " + 
00897         ((PredictedPlot) plot).getRunSeriesId() + ")";
00898 
00899 
00900         } else if (plot instanceof RealPlot) {
00901             rtn = "SELECT * FROM " + REAL + " where csn_id=" + plot.getId();
00902         } else if (plot instanceof FittedPlot) {
00903             rtn = "SELECT * FROM " + FITTED + " where csn_id=" + plot.getId() + " and fit_id=" +
00904                 ((FittedPlot) plot).getFit().getId();
00905         }
00906     //System.out.println(rtn);
00907         return rtn;
00908     }

synchronized Collection<RealPaper> getRealPapers  )  throws JetWebException [static]
 

Definition at line 154 of file DBPlotManager.java.

00155                           {
00156     Vector<RealPaper> papers = new Vector<RealPaper>();
00157     String selectString = "SELECT * FROM paper";
00158     try{
00159 
00160         Statement stmt = DBConfig.getConnection().createStatement();
00161             ResultSet dbrs = stmt.executeQuery(selectString);
00162 
00163             while (dbrs.next()) {
00164                 RealPaper paper = new RealPaper();
00165                 fill(paper, dbrs);
00166                 papers.add(paper);
00167             }
00168 
00169             dbrs.close();
00170             stmt.close();
00171 
00172     } catch (SQLException E) {
00173             System.out.println("SQLException: " + E.getMessage());
00174             System.out.println("SQLState:     " + E.getSQLState());
00175             System.out.println("VendorError:  " + E.getErrorCode());
00176             throw new JetWebDBException(E, selectString, "");
00177         }
00178 
00179     return papers;
00180     }

HashSet<PlotSwitch> getSwitches int  plotId  )  throws JetWebException [static]
 

Return Enumeration of the switches associated with this plot.

Definition at line 1614 of file DBPlotManager.java.

01615                            {
01616         HashSet<PlotSwitch> switches = new HashSet<PlotSwitch>();
01617 
01618         // Get all PlotSwitches for a cross section
01619         String queryString = "SELECT switch_id FROM cross_section_switches WHERE csn_id=" + plotId;
01620 
01621         try {
01622             Statement stmt = DBConfig.getConnection().createStatement();
01623             ResultSet rs = stmt.executeQuery(queryString);
01624 
01625             while (rs.next()) {
01626                 switches.add(new PlotSwitch(rs.getInt("switch_id")));
01627             }
01628 
01629             rs.close();
01630             stmt.close();
01631         } catch (SQLException e) {
01632             System.out.println("Error reading cross_section_switches table " + e);
01633             throw new JetWebDBException(e, queryString, "CrossSectionId:" + plotId);
01634         }
01635 
01636         return switches;
01637     }

void initData  )  [static, private]
 

Definition at line 70 of file DBPlotManager.java.

00070                                   {
00071 
00072     if(initialisedData_)return;
00073     initialisedData_ = true;
00074 
00075     try{
00076     insertRealData_ = 
00077         DBConfig.getConnection().prepareStatement
00078         ("INSERT INTO data_point"+
00079          "(csn_id,pnt_no,x,y,dy_up,dy_down,bin_width) VALUES" + 
00080          "(?,?,?,?,?,?,?)");
00081 
00082     insertPredictedData_ = 
00083         DBConfig.getConnection().prepareStatement
00084         ("INSERT INTO predicted_point" +
00085          "(runseries_id,csn_id,pnt_no,x,y,dy_up,dy_down,bin_width) "+
00086          "VALUES" + 
00087          "(?,?,?,?,?,?,?,?)");
00088      
00089     insertFittedData_ = 
00090         DBConfig.getConnection().prepareStatement
00091         ("INSERT INTO fitted_point" + 
00092          "(fit_id,chi2,csn_id,pnt_no,x,y,dy_up,dy_down,bin_width) VALUES" +
00093          "(?,?,?,?,?,?,?,?,?)");
00094     }catch(SQLException err){
00095         System.out.println
00096         ("Error: cannot initialse prepared statements "+
00097          "for inserting data in DB");
00098         System.out.println(err.getMessage());
00099         err.printStackTrace();
00100     }
00101      return;
00102     }

void initRetrievePaper  )  [static, private]
 

Definition at line 103 of file DBPlotManager.java.

00103                                            {
00104     if(initialisedRetrievePaper_) return;
00105     initialisedRetrievePaper_ = true;
00106     try{
00107         retrieveRealPaper_ = 
00108         DBConfig.getConnection().prepareStatement
00109         ("SELECT * FROM paper WHERE paper_id=?");
00110 
00111         selectPlotsForPaper_ = 
00112         DBConfig.getConnection().prepareStatement
00113         ("SELECT * FROM cross_section where paper_id=?");
00114 
00115     }catch(SQLException err){
00116         System.out.println
00117         ("Error: cannot initialise prepared statements " +
00118          "for retrieving real papers from DB");
00119         System.out.println(err.getMessage());
00120         err.printStackTrace();
00121     }
00122     }

synchronized void insertCrossSection RealPlot  plot,
int  paperId
throws JetWebException [static]
 

Definition at line 1148 of file DBPlotManager.java.

01149                            {
01150     insertCrossSection(DBConfig.JETWEB, plot, paperId);
01151     }

synchronized void insertCrossSection String  ConName,
RealPlot  plot,
int  paperId
throws JetWebException [static]
 

Insert new DB record for this RealData plot.

Parameters:
plot - plot to be added to database
paperId - DB id for paper to which this plot belongs
Exceptions:
JetWebException 

Definition at line 1077 of file DBPlotManager.java.

References DataPlot.getCutCollection(), CutCollection.getId(), CutCollection.setId(), and CutCollection.store().

01079                                {
01080         int inDefault = 0;
01081 
01082         if (plot.isDefaultSum()) {
01083             inDefault += 1;
01084         }
01085 
01086         if (plot.isDefaultFit()) {
01087             inDefault += 1;
01088         }
01089 
01090         String yAxisType = "lin";
01091 
01092         if (plot.isLogarithmic()) {
01093             yAxisType = "log";
01094         }
01095 
01096         int shape = 0;
01097 
01098         if (plot.isShape()) {
01099             shape = 1;
01100         }
01101 
01102     Integer cutId=-1;
01103 
01104     if(plot.getCutCollection()!=null){
01105         plot.getCutCollection().store();
01106         cutId = plot.getCutCollection().getId();
01107     }
01108 
01109         String sqlString = 
01110         "INSERT INTO cross_section " +
01111             "(paper_id," +
01112         "title,x_axis_title," + 
01113         "y_axis_title," + 
01114         "in_default," + 
01115         "plot_number," + 
01116         "scale_factor," + 
01117         "y_axis_type," + 
01118         "is_shape," + 
01119         "collision_id," +
01120         "cut_collection_id)" +
01121             " VALUES (" + paperId + ",'" + plot.getTitle() + "','" + plot.getXLabel() + "','" +
01122             plot.getYLabel() + "'," + inDefault + "," + plot.getNumber() + "," +
01123             plot.getSysScale() + ",'" + yAxisType + "'," + shape + "," + 
01124         plot.getCollisionId() +
01125         "," + cutId +
01126             ")";
01127 
01128     System.out.println(sqlString);
01129 
01130         try {
01131             Statement stmt = DBConfig.getConnection().createStatement();
01132             int rtn = stmt.executeUpdate(sqlString);
01133         stmt.close();
01134         } catch (SQLException e) {
01135             System.out.println("DB access error in insertCrossSection" + e);
01136             System.out.println("SQL String was: " + sqlString);
01137             throw new JetWebDBException(e, sqlString,
01138                 "plotId:" + plot.getId() + " paperId:" + paperId);
01139         }
01140 
01141         // Now get the new ID.
01142         plot.setId(getPlotId(paperId, plot.getNumber()));
01143 
01144         // Now add the plot switches.
01145         plot.storeSwitches();
01146     }

synchronized void insertCrossSectionSet Iterator< Integer >  plotIds,
int  cssId
throws JetWebException [static]
 

Inserts a new cross_section_set record into the database.

Parameters:
plotIds list(Integers) of all the plots belonging to the new set
cssId for the new cross_sectionset record
Exceptions:
JetWebException 

Definition at line 1424 of file DBPlotManager.java.

01425                                {
01426         String ins = "";
01427 
01428         try {
01429             Statement stmt = DBConfig.getConnection().createStatement();
01430 
01431             while (plotIds.hasNext()) {
01432                 ins = "INSERT INTO cross_section_set (csn_id,csn_set_id) VALUES(" +
01433                     (plotIds.next()).toString() + "," + cssId + ")";
01434 
01435                 int i = stmt.executeUpdate(ins);
01436             }
01437 
01438             stmt.close();
01439         } catch (SQLException e) {
01440             System.out.println("Error inserting data into cross_section_set table ");
01441             System.out.println(e);
01442             System.out.println("SQL was: " + ins);
01443             throw new JetWebDBException(e, ins, "CrossSectionSetId:" + cssId);
01444         }
01445     }

synchronized void insertData DataPlot  plot  )  throws JetWebException [static]
 

Insert data points for this real/predicted/fitted data plot to the DB

Parameters:
plot object containing pointed to be inserted
Exceptions:
JetWebException 

Definition at line 974 of file DBPlotManager.java.

References DataPlot.getDataPoints(), and DataPoint.getX().

00975                                {
00976 
00977     //System.out.println("Inserting data for plot " + plot.getId());
00978 
00979     //initData();
00980 
00981     checkInserts();
00982 
00983         Enumeration<DataPoint> unsortedPoints = plot.getDataPoints().elements();
00984         int pointNo = 0;
00985 
00986     TreeMap<Double, DataPoint> sortedPoints = 
00987         new TreeMap<Double, DataPoint>();
00988 
00989     while(unsortedPoints.hasMoreElements()){
00990         DataPoint pt = unsortedPoints.nextElement();
00991         sortedPoints.put(pt.getX(), pt);
00992     }
00993 
00994     PreparedStatement pstmt = insertRealData_;
00995 
00996     boolean isFitted = false;
00997 
00998     Integer startIndex = 1;
00999     try{
01000         if(plot instanceof PredictedPlot){
01001         pstmt = insertPredictedData_;
01002         pstmt.setInt(1, ((PredictedPlot) plot).getRunSeriesId());
01003         startIndex = 2;
01004         }else if(plot instanceof FittedPlot){
01005         pstmt = insertFittedData_;
01006         pstmt.setInt(1, ((FittedPlot) plot).getFit().getId());
01007         startIndex = 3;
01008         }
01009         pstmt.setInt(startIndex, plot.getId());
01010     }catch(SQLException err){
01011         System.out.println("Error: DBPlotManager.insertData(DataPlot) "+
01012                    "unable to set plot data in PreparedStatement");
01013         err.printStackTrace();
01014         throw new JetWebException(err);
01015     }
01016     ++startIndex;
01017     
01018         //while (points.hasMoreElements()) {
01019 
01020     //System.out.println("Number of data points to add = " + 
01021     //   sortedPoints.size());
01022 
01023     for(DataPoint point: sortedPoints.values()){
01024             pointNo++;
01025 
01026             //DataPoint point = points.nextElement();
01027         
01028         Integer pIndex = startIndex;
01029         try{
01030 
01031         if(plot instanceof FittedPlot){
01032             pstmt.setDouble(2, point.getChi2());
01033         }
01034 
01035         pstmt.setInt(pIndex, pointNo);
01036         ++pIndex;
01037         pstmt.setDouble(pIndex, point.getX());
01038         ++pIndex;
01039         pstmt.setDouble(pIndex, point.getY());
01040         ++pIndex;
01041         pstmt.setDouble(pIndex, point.getYUp());
01042         ++pIndex;
01043         pstmt.setDouble(pIndex, point.getYDown());
01044         ++pIndex;
01045         pstmt.setDouble(pIndex, point.getBinWidth());
01046         pstmt.executeUpdate();
01047                 
01048         }catch(SQLException err){
01049         System.out.println("insertDataPlot failed: " + err);
01050         System.out.println("Data: pIndex = "+pIndex);
01051         throw new JetWebException(err);
01052         }
01053         }
01054     try{
01055         pstmt.clearParameters();
01056         //pstmt.close();
01057     }catch(SQLException err){
01058         System.out.println
01059         ("DBPlotManager.insertData: " + 
01060          "unable to clear prepared statement");
01061         System.out.println("Data: "+pstmt);
01062       
01063         throw new JetWebException(err);
01064     }
01065     return;
01066     }

synchronized void insertFittedPrediction FittedPlot  plot  )  throws JetWebException [static]
 

Adds a fitted prediction to the database

Parameters:
plot for which fitted prediction is to be inserted
Exceptions:
JetWebException 

Definition at line 1225 of file DBPlotManager.java.

References CutCollection.getId().

01226                                {
01227         String ins1 = "INSERT INTO fitted_prediction (fit_id,csn_id,chi2,dof) VALUES(" +
01228             plot.getFit().getId() + "," + plot.getId() + "," + plot.getChi2()[0] + "," +
01229             plot.getChi2()[1] + ")";
01230 
01231         try {
01232             Statement stmt = DBConfig.getConnection().createStatement();
01233             stmt.executeUpdate(ins1);
01234         stmt.close();
01235         } catch (SQLException e) {
01236             System.out.println("insertFittedPrediction failed: " + e);
01237             throw new JetWebDBException(e, ins1, "FittedPlot.id:" + plot.getId());
01238         }
01239     }

synchronized boolean plotExists DataPlot  plot,
RunSeries  runSeries
throws JetWebException [static]
 

Checks existance of a predicted plot matching a given runSeries and a given RealPlot.

Parameters:
RealPlot 
RunSeries 
Returns:
true if the plot exists, otherwise false
Exceptions:
JEtWebDBException 

Definition at line 1455 of file DBPlotManager.java.

References CutCollection.getId().

01456                                {
01457         int plotId = plot.getId();
01458         int runSeriesId = runSeries.getId();
01459         boolean exists = false;
01460         String queryString = "";
01461 
01462         try {
01463             Statement stmt = DBConfig.getConnection().createStatement();
01464             queryString = "SELECT COUNT(runseries_id) count_plots " +
01465                 "FROM predicted_point WHERE runseries_id=" + runSeriesId + " AND csn_id=" + plotId;
01466 
01467             ResultSet rs = stmt.executeQuery(queryString);
01468 
01469             if (rs.next()) {
01470                 int n = rs.getInt("count_plots");
01471 
01472                 if (n > 0) {
01473                     exists = true;
01474                 }
01475             }
01476 
01477             rs.close();
01478             stmt.close();
01479         } catch (SQLException e) {
01480             System.out.println("Error reading predicted_points table ");
01481             System.out.println(e);
01482             System.out.println("SQL was: " + queryString);
01483             throw new JetWebDBException(e, queryString,
01484                 "PlotId:" + plotId + " runSeriesId:" + runSeriesId);
01485         }
01486 
01487         return exists;
01488     }

synchronized void populateSelection PlotSelection  selection  )  throws JetWebException [static]
 

Definition at line 1493 of file DBPlotManager.java.

References CutCollection.getId().

01494                                {
01495 
01496         String queryString = "";
01497         int cssId = -1;
01498     selection.clearFitPlots();
01499 
01500         try {
01501             cssId = selection.getId();
01502 
01503             Statement stmt = DBConfig.getConnection().createStatement();
01504             queryString = "SELECT csn_id " + "FROM cross_section_set WHERE csn_set_id=" + cssId;
01505 
01506             ResultSet rs = stmt.executeQuery(queryString);
01507 
01508             while (rs.next()) {
01509                 selection.addFitPlot(PaperBank.getPlot(rs.getInt("csn_id")));
01510             }
01511 
01512             rs.close();
01513             stmt.close();
01514         } catch (SQLException e) {
01515             System.out.println("Error reading predicted_points table ");
01516             System.out.println(e);
01517             System.out.println("SQL was: " + queryString);
01518             throw new JetWebDBException(e, queryString, "CssId=" + cssId);
01519         } catch (JetWebException e) {
01520             throw e;
01521         }
01522     }

void selectPlotSwitch PlotSwitch  plotSwitch  )  throws JetWebException [static]
 

Fill the fields of this plotSwitch from the DB. The ID must be set in advance.

Definition at line 1559 of file DBPlotManager.java.

References CutCollection.getId().

01560                                {
01561         // Get all PlotSwitches for a cross section
01562         String queryString = "SELECT * FROM cross_section_switches WHERE switch_id=" +
01563             plotSwitch.getId();
01564 
01565         try {
01566             Statement stmt = DBConfig.getConnection().createStatement();
01567             ResultSet rs = stmt.executeQuery(queryString);
01568 
01569             while (rs.next()) {
01570                 plotSwitch.setGeneratorName(rs.getString("generator_name"));
01571 
01572                 plotSwitch.setGeneratorVersion(rs.getFloat("generator_version"));
01573 
01574                 plotSwitch.setParameterName(rs.getString("parameter_name"));
01575 
01576                 //Double tmp = rs.getFloat("parameter_value_high");
01577         Double tmp = rs.getDouble("parameter_value_high");
01578         String stringTmp = rs.getString("parameter_value_high");
01579                   
01580                 if (rs.wasNull() || stringTmp.equals("null")) {
01581                     plotSwitch.setParameterValueHigh(Double.POSITIVE_INFINITY);
01582 
01583                 } else {
01584                     plotSwitch.setParameterValueHigh(tmp);
01585                 }
01586 
01587                 //tmp = rs.getFloat("parameter_value_low");
01588         tmp = rs.getDouble("parameter_value_low");
01589         stringTmp = rs.getString("parameter_value_low");
01590 
01591                 if (rs.wasNull()||stringTmp.equals("null")) {
01592                     plotSwitch.setParameterValueLow(Double.NEGATIVE_INFINITY);
01593 
01594                 } else {
01595                     plotSwitch.setParameterValueLow(tmp);
01596                 }
01597 
01598                 plotSwitch.setMCProcessTypeId(rs.getInt("process_id"));
01599 
01600                 plotSwitch.setPlotId(rs.getInt("csn_id"));
01601             }
01602 
01603             rs.close();
01604             stmt.close();
01605         } catch (SQLException e) {
01606             System.out.println("Error reading cross_section_switches table " + e);
01607             throw new JetWebDBException(e, queryString, "Switch Id :" + plotSwitch.getId());
01608         }
01609     }

void update PlotSwitch  ps  )  throws JetWebException [static]
 

Store this PlotSwitch to the database.

Definition at line 1668 of file DBPlotManager.java.

References CutCollection.getId().

01668                                                                     {
01669 
01670     // first delete it.
01671     String deleteIt = "DELETE FROM cross_section_switches WHERE switch_id='"
01672         +ps.getId()+"'";
01673 
01674         StringBuffer ud = new StringBuffer("INSERT INTO cross_section_switches SET process_id='" 
01675         + ps.getMCProcessTypeId());
01676 
01677         if (ps.getParameterName() != null) {
01678             ud.append("',parameter_name='" + ps.getParameterName());
01679 
01680         if (ps.getParameterValueHigh() != Double.POSITIVE_INFINITY) {
01681         ud.append("', parameter_value_high='" + ps.getParameterValueHigh());
01682         }
01683 
01684         if (ps.getParameterValueLow() != Double.NEGATIVE_INFINITY) {
01685         ud.append("', parameter_value_low='" + ps.getParameterValueLow());
01686         }
01687 
01688     }
01689     if (ps.getGeneratorName() != null) {
01690         ud.append("', generator_name='" + ps.getGeneratorName());
01691     }
01692 
01693     ud.append("', generator_version='" + ps.getGeneratorVersion() + "',switch_id='" + ps.getId());
01694     ud.append("', csn_id='"+ps.getPlotId()+"'");
01695 
01696 
01697     //System.out.println(ud.toString());
01698         try {
01699             Statement stmt = DBConfig.getConnection().createStatement();
01700             int rowsChanged = stmt.executeUpdate(deleteIt);
01701             rowsChanged = stmt.executeUpdate(ud.toString());
01702             stmt.close();
01703         } catch (SQLException E) {
01704             System.out.println("SQLException: " + E.getMessage());
01705             System.out.println("SQLState:     " + E.getSQLState());
01706             System.out.println("VendorError:  " + E.getErrorCode());
01707             throw new JetWebDBException(E, ud.toString(), "oh dear");
01708         }
01709     }

synchronized void updateCrossSectionLabels RealPlot  plot  )  throws JetWebException [static]
 

Update DB record for this RealData plot labels & switches

Parameters:
plot - plot to be added to database
Exceptions:
JetWebException 

Definition at line 1159 of file DBPlotManager.java.

References CutCollection.getId(), and CutCollection.store().

01160                                {
01161         int inDefault = 0;
01162 
01163         if (plot.isDefaultSum()) {
01164             inDefault += 1;
01165         }
01166 
01167         if (plot.isDefaultFit()) {
01168             inDefault += 1;
01169         }
01170 
01171         String yAxisType = "lin";
01172 
01173         if (plot.isLogarithmic()) {
01174             yAxisType = "log";
01175         }
01176 
01177         int shape = 0;
01178 
01179         if (plot.isShape()) {
01180             shape = 1;
01181         }
01182 
01183     int cutId = -1;
01184 
01185     if(plot.getCutCollection()!=null){
01186         plot.getCutCollection().store();
01187         cutId = plot.getCutCollection().getId();
01188     }
01189 
01190         String sqlString = 
01191         "UPDATE cross_section SET paper_id='" + plot.getPaperId() + 
01192         "',title='" + plot.getTitle() + 
01193         "',x_axis_title='" + plot.getXLabel() + 
01194         "',y_axis_title='" + plot.getYLabel() + 
01195         "',in_default='" + inDefault + 
01196         "',plot_number='" + plot.getNumber() +
01197             "',scale_factor='" + plot.getSysScale() + 
01198         "',y_axis_type='" + yAxisType +
01199             "',is_shape='" + shape + 
01200         "',collision_id='" + plot.getCollisionId() +
01201         "',cut_collection_id=" + cutId +
01202             " where csn_id=" + plot.getId();
01203 
01204         try {
01205             Statement stmt = DBConfig.getConnection().createStatement();
01206             int rtn = stmt.executeUpdate(sqlString);
01207         stmt.close();
01208         } catch (SQLException e) {
01209             System.out.println("DB access error in updateCrossSectionLabels" + e);
01210             System.out.println("SQL String was: " + sqlString);
01211             throw new JetWebDBException(e, sqlString,
01212                 "plotId:" + plot.getId() + " paperId:" + plot.getPaperId());
01213         }
01214 
01215         // Now add/update the plot switches.
01216         plot.storeSwitches();
01217     }

synchronized void updateCrossSectionPoints DataPlot  plot  )  throws JetWebException [static]
 

Update real/predicted/fitted data points in the database for an existing plot

  • delete existing data points and repopulate

Parameters:
plot object representing the plot to be updated
Exceptions:
JetWebException 

Definition at line 917 of file DBPlotManager.java.

00918                                {
00919         String sqlString = getDeleteString(plot);
00920 
00921         try {
00922             Statement stmt = DBConfig.getConnection().createStatement();
00923             int rtn = stmt.executeUpdate(sqlString);
00924             stmt.close();
00925         } catch (SQLException e) {
00926             System.out.println("DB access error in updateCross_Section (delete data points):" + e);
00927             System.out.println("SQL was:" + sqlString);
00928             throw new JetWebDBException(e, sqlString, "DataPlot.id:" + plot.getId());
00929         }
00930 
00931         try {
00932             insertData(plot);
00933         } catch (JetWebException j) {
00934             // insertDataPlot throws an exception if it failed. If we
00935             // did not manage to insert the data, we should tidy up by
00936             // deleting any other data for this plot.
00937             try {
00938                 sqlString = getDeleteString(plot);
00939 
00940                 Statement stmt = DBConfig.getConnection().createStatement();
00941                 int rtn = stmt.executeUpdate(sqlString);
00942                 stmt.close();
00943             } catch (SQLException e) {
00944                 System.out.println("DB access error in updateCrossSection (delete data points):" +
00945                     e);
00946                 System.out.println("SQL was:" + sqlString);
00947                 throw new JetWebDBException(e, sqlString, "DataPlot.id:" + plot.getId());
00948             }
00949         }
00950     }


Member Data Documentation

final String FITTED = "fitted_point" [static]
 

specifies Fitted data

Definition at line 52 of file DBPlotManager.java.

boolean initialisedData_ = false [static, private]
 

Definition at line 66 of file DBPlotManager.java.

boolean initialisedRetrievePaper_ = false [static, private]
 

Definition at line 67 of file DBPlotManager.java.

PreparedStatement insertFittedData_ [static, private]
 

Definition at line 63 of file DBPlotManager.java.

PreparedStatement insertPredictedData_ [static, private]
 

Definition at line 62 of file DBPlotManager.java.

PreparedStatement insertRealData_ [static, private]
 

Initialises the PaperBank database.

Returns:
enumeration of all papers in the database
Exceptions:
JetWebException 

Definition at line 61 of file DBPlotManager.java.

final String PREDICTED = "predicted_point" [static]
 

specifies Predicted data

Definition at line 47 of file DBPlotManager.java.

final String REAL = "data_point" [static]
 

specifies Real data

Definition at line 42 of file DBPlotManager.java.

PreparedStatement retrieveRealPaper_ [static, private]
 

Definition at line 64 of file DBPlotManager.java.

PreparedStatement selectPlotsForPaper_ [static, private]
 

Definition at line 65 of file DBPlotManager.java.


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

Generated Wed Jan 17 09:14:27 GMT 2007