Changeset 1547


Ignore:
Timestamp:
Mar 6, 2012, 9:53:58 AM (10 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #367: Incorrect mapping of prefix index to site name

And also some code style changes to make it follow the general guidelines.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/net.sf.basedb.reggie/trunk/src/net/sf/basedb/reggie/servlet/SampleReportServlet.java

    r1503 r1547  
    33import java.io.IOException;
    44import java.text.SimpleDateFormat;
    5 import java.util.ArrayList;
    65import java.util.Calendar;
    76import java.util.Date;
    87import java.util.GregorianCalendar;
    9 import java.util.List;
    108
    119import javax.servlet.ServletException;
     
    2018import net.sf.basedb.core.ItemQuery;
    2119import net.sf.basedb.core.ItemResultIterator;
    22 import net.sf.basedb.core.ItemSubtype;
    2320import net.sf.basedb.core.Sample;
    2421import net.sf.basedb.core.SessionControl;
     
    2623import net.sf.basedb.core.query.Hql;
    2724import net.sf.basedb.core.query.Orders;
    28 import net.sf.basedb.core.query.Restriction;
    2925import net.sf.basedb.core.query.Restrictions;
     26import net.sf.basedb.reggie.Reggie;
    3027import net.sf.basedb.reggie.converter.DateToStringConverter;
    3128import net.sf.basedb.reggie.converter.StringToDateConverter;
     
    7875      {       
    7976        dc = sc.newDbControl();       
    80         ItemSubtype subType = Subtype.SPECIMEN.load(dc);
    8177       
    8278        String startDateParameter = Values.getString(req.getParameter("fdate"), null);
     
    8682        Date endDate = string2DateConverter.convert(endDateParameter);
    8783       
    88         List<Restriction> restrictions = new ArrayList<Restriction>();
     84        //List<Restriction> restrictions = new ArrayList<Restriction>();
    8985        ItemQuery<Sample> sampleQuery = Sample.getQuery();
    9086        sampleQuery.joinPermanent(Hql.innerJoin("creationEvent", "ce"));
    91        
    92         restrictions.add(Restrictions.eq(Hql.property("itemSubtype"), Hql.entity(subType)));
     87        Subtype.SPECIMEN.addFilter(dc, sampleQuery);
     88       
    9389        if (endDate != null)
    94           restrictions.add(Restrictions.lteq(Hql.property("ce", "eventDate"), Expressions.parameter("endDate", endDate)));
    95         else endDate = new Date();
    96         if (startDate != null) restrictions.add(Restrictions.gteq(Hql.property("ce", "eventDate"), Expressions.parameter("startDate", startDate)));
     90        {
     91          sampleQuery.restrict(Restrictions.lteq(Hql.property("ce", "eventDate"), Expressions.parameter("endDate", endDate)));
     92        }
     93        else
     94        {
     95          endDate = new Date();
     96        }
     97        if (startDate != null)
     98        {
     99          sampleQuery.restrict(Restrictions.gteq(Hql.property("ce", "eventDate"), Expressions.parameter("startDate", startDate)));
     100        }
    97101        else
    98102        {
     
    105109          }
    106110        }
    107         Restriction[] restr = new Restriction[restrictions.size()];
    108         for (Restriction r : restrictions)
    109         {
    110           restr[restrictions.indexOf(r)] = r;
    111         }
    112        
    113         sampleQuery.restrict(Restrictions.and(restr));
    114         Subtype.SPECIMEN.addFilter(dc, sampleQuery);
    115111
    116112        sampleQuery.include(Include.ALL);
     
    120116        ItemResultIterator<Sample> sampleIterator = sampleQuery.iterate(dc);       
    121117               
    122         DateToStringConverter date2StringConverter = new DateToStringConverter(new SimpleDateFormat("yyyyMMdd"));       
     118        DateToStringConverter date2StringConverter = Reggie.CONVERTER_DATE_TO_STRING;
    123119        Date latestDate = null;
    124120        Date firstDate = null;
     
    178174                Date siteStartDate = string2DateConverter.convert(siteStart.replaceAll("-", ""));
    179175                if (!siteStartDate.after(creationDate))
     176                {
    180177                  firstDate = creationDate;
     178                }
    181179              }
    182180            }           
     
    225223      Calendar cal = GregorianCalendar.getInstance();
    226224      cal.setTime(currentDate);
    227       if (cal.get(Calendar.MONTH)<3) currentPeriod += "1";
    228       else if (cal.get(Calendar.MONTH)<6) currentPeriod += "2";
    229       else if (cal.get(Calendar.MONTH) < 9) currentPeriod +="3";
    230       else currentPeriod += "4";
     225      int month = cal.get(Calendar.MONTH);
     226      if (month < 3)
     227      {
     228        currentPeriod += "1";
     229      }
     230      else if (month < 6)
     231      {
     232        currentPeriod += "2";
     233      }
     234      else if (month < 9)
     235      {
     236        currentPeriod +="3";
     237      }
     238      else
     239      {
     240        currentPeriod += "4";
     241      }
    231242    }
    232243    else
    233244    {     
    234245      String dateFormat = null;
    235       if (viewType.equals(weekView)) dateFormat = "yyyyw";
    236       else if (viewType.equals(monthView)) dateFormat = "yyyyMM";
    237       else dateFormat = "yyyy";
     246      if (viewType.equals(weekView))
     247      {
     248        dateFormat = "yyyyw";
     249      }
     250      else if (viewType.equals(monthView))
     251      {
     252        dateFormat = "yyyyMM";
     253      }
     254      else
     255      {
     256        dateFormat = "yyyy";
     257      }
    238258      DateToStringConverter converter = new DateToStringConverter(new SimpleDateFormat(dateFormat));
    239259      currentPeriod = converter.convert(currentDate);
     
    267287    limitQuarterView.add(Calendar.MONTH, (3*currentQuarter)-limitQuarterView.get(Calendar.MONTH));
    268288               
    269     if (limitWeekView.after(endCal)) viewType = weekView;
    270     else if (limitMonthView.after(endCal)) viewType = monthView;
    271     else if (limitQuarterView.after(endCal)) viewType = quarterView;
    272     else viewType = yearView;
     289    if (limitWeekView.after(endCal))
     290    {
     291      viewType = weekView;
     292    }
     293    else if (limitMonthView.after(endCal))
     294    {
     295      viewType = monthView;
     296    }
     297    else if (limitQuarterView.after(endCal))
     298    {
     299      viewType = quarterView;
     300    }
     301    else
     302    {
     303      viewType = yearView;
     304    }
    273305   
    274306    return viewType;
     
    308340    vaxsjoSite.put("startdate", "2010-10-01");   
    309341       
    310     sites.put("11",halmstadSite);
    311     sites.put("22",helsingborgSite);
    312     sites.put("33", karlskronaSite);
    313     sites.put("44",kristianstadSite);
    314     sites.put("55",lundSite);
    315     sites.put("66", malmoSite);
    316     sites.put("77",vaxsjoSite);
     342    sites.put("11", lundSite);
     343    sites.put("22", helsingborgSite);
     344    sites.put("33", halmstadSite);
     345    sites.put("44", kristianstadSite);
     346    sites.put("55", karlskronaSite);
     347    sites.put("66", vaxsjoSite);
     348    sites.put("77", malmoSite);
    317349    return sites;
    318350  }
Note: See TracChangeset for help on using the changeset viewer.