Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 2.94 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. private final Set<Top20XOverXRecord> getResults(Date date) throws InstantiationException, IllegalAccessException, ClassNotFoundException
  2.         {
  3.                 /*
  4.                  * gets the current records as of the specified date
  5.                  */
  6.                 Set<Top20Record> records= getCurrentRecords(date);
  7.                 /*
  8.                  * gets the parameter total on that date
  9.                  */
  10.                 logger.info("The captured date is: "+ date);
  11.                 logger.info("Records retrieved!");
  12.                 Connection conn=null;
  13.                 PreparedStatement stmt=null;
  14.                 String sql, paramType;
  15.                 if(records.size()!=20)
  16.                 {
  17.                         throw new RuntimeException("Expected 20 records, got"+records.size());
  18.                 }
  19.                 Set<Date> dates=getOtherDates(date);
  20.                 if(dates.size()!=2)
  21.                 {
  22.                         throw new RuntimeException("Expected 2 dates, got: "+ dates.size());
  23.                 }
  24.                 else
  25.                 {
  26.                         System.out.println(dates.toString());
  27.                 }
  28.                 Top20XOverXRecordStore store= new Top20XOverXRecordStore(records,dates);
  29.                
  30.                 paramType=getParameterType();
  31.                 sql="select transactionType,sum("+paramType+") as total from app.rawdata where"
  32.                         +" myDate in (?, ?) and transactionType in (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) group by transactionType,myDate order by total desc";
  33.                 try
  34.                 {
  35.                         Properties props= new Properties();
  36.                     props.put("user","test");
  37.                     props.put("password","test");
  38.                         Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
  39.                          conn=DriverManager.getConnection(protocol+dbName+";create=false",props);
  40.                          stmt= conn.prepareStatement(sql);
  41.                         int i=1;
  42.                         for (Date tempDate : dates)
  43.                         {
  44.                                 java.sql.Date sqldate= new java.sql.Date(tempDate.getTime());
  45.                                 System.out.println("Thesqldate is: "+sqldate);
  46.                                 stmt.setDate(i,sqldate);
  47.                                 logger.info("The retrieved date is: "+tempDate);
  48.                                 i++;
  49.                         }
  50.                         for (Top20Record record : records)
  51.                         {
  52.                                 String type=record.getTransactionType();
  53.                                 System.out.println("The transaction type is: "+type);
  54.                                 stmt.setString(i,type);
  55.                                 i++;
  56.                         }
  57.                                
  58.                         ResultSet rset= stmt.executeQuery();
  59.                         while(rset.next())
  60.                         {
  61.  
  62.                                 Top20Record record= new  Top20Record(rset.getString("transactionType"),paramType,rset.getDouble(2),date);
  63.                                 System.out.println("The record in getResults reads: "+record.getTransactionType()+ " "+ record.getParameterType()+ " "+ record.getParameterValue()+" "+  record.getMyDate()+ " ");
  64.                                 logger.info("Results going to be stored");
  65.                                 store.addRecord(record);
  66.                                 logger.info("The results have been stored");
  67.                         }
  68.                        
  69.                 }
  70.  
  71.                 catch (SQLException e)
  72.                 {
  73.                         // TODO Auto-generated catch block
  74.                         logger.log(Level.WARNING,"Exception getting data",e);
  75.                         logger.warning("Discarding data because of previous error");
  76.                         records.clear();
  77.                         e.printStackTrace();
  78.                 }
  79.                 finally
  80.                 {
  81.                         if(stmt!=null)
  82.                         {
  83.                                 try
  84.                                 {
  85.                                         stmt.close();
  86.                                 }
  87.                                 catch(SQLException e)
  88.                                 {
  89.                                         logger.log(Level.WARNING,"Could not close statement",e);
  90.                                 }
  91.                         }
  92.                         if(conn!=null)
  93.                         {
  94.                                 try
  95.                                 {
  96.                                         conn.close();
  97.                                 }
  98.                                 catch(SQLException e)
  99.                                 {
  100.                                         logger.log(Level.WARNING,"Could not close db connection",e);
  101.                                 }
  102.                                
  103.                         }
  104.                 }
  105.                 return store.getResults();
  106.                
  107.         }