e.g. Calendar Search Help
You must enter a value before pressing Search
xplanner

Class: com.technoetic.xplanner.charts.DataSamplingJob   ©

 OK to copy?
01 package com.technoetic.xplanner.charts;
02 
03 import com.technoetic.xplanner.db.hibernate.GlobalSessionFactory;
04 import com.technoetic.xplanner.domain.Iteration;
05 import net.sf.hibernate.Hibernate;
06 import net.sf.hibernate.Session;
07 import org.apache.log4j.Logger;
08 import org.quartz.Job;
09 import org.quartz.JobExecutionContext;
10 import org.quartz.JobExecutionException;
11 
12 import java.sql.SQLException;
13 import java.util.Date;
14 import java.util.List;
15 
16 public class DataSamplingJob implements Job {
17     private Logger log = Logger.getLogger(getClass());
18 
19     public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
20         try {
21             Session session = null;
22             try {
23                 session = GlobalSessionFactory.get().openSession();
24                 List iterations = session.find("from i in " + Iteration.class +
25                         " where i.endDate >= ?", new Date(), Hibernate.DATE);
26                 Date now = new Date();
27                 for (int i = 0; i < iterations.size(); i++) {
28                     Iteration iteration = (Iteration)iterations.get(i);
29                     DataSample estimatedHoursSample = new DataSample(now, iteration.getId(),
30                             "estimatedHours", iteration.getEstimatedHours());
31                     session.save(estimatedHoursSample);
32                     DataSample actualHoursSample = new DataSample(now, iteration.getId(),
33                             "actualHours", iteration.getActualHours());
34                     session.save(actualHoursSample);
35                     DataSample remainingHoursSample = new DataSample(now, iteration.getId(),
36                             "remainingHours", iteration.getRemainingHours());
37                     session.save(remainingHoursSample);
38                 }
39                 log.info("committing data sample changes");
40                 session.flush();
Rate41                 session.connection().commit();
42             } catch (Throwable ex) {
43                 log.error("rolling back data sample changes", ex);
44                 session.connection().rollback();
45             } finally {
46                 session.close();
47             }
48         } catch (SQLException e) {
49             throw new JobExecutionException(
50                     "SQL error while saving data samples, retrying...", e, true);
51         } catch (Exception e) {
52             throw new JobExecutionException(
53                     "error saving data samples, not retrying", e, false);
54         }
55     }
56 }

            
All Examples in File:
Example
Line
Rating (found
useful by...)
41 0% of 0