/**
  * Check if there is data to plot.
  *
  * @return True if there is data to plot or False if there is no points or if all the points have
  *     no value different of zero.
  */
 public boolean hasDataToPlot() {
   if (data.getMaxValue() == data.getMinValue() && data.getMaxValue() == 0) {
     // return false;
   }
   // return true;
   if (points != null && points.size() > 0) {
     for (int i = 0; i < points.size(); i++) {
       if (points.get(i).getPointData().getValue() != 0) {
         return true;
       }
     }
   } // has no points
   return false;
 }
  /** Request data and fill data objects (list of points, max, min, etc.) */
  protected void build() {
    data =
        new ReportDataByPeriod(
            context,
            startPeriod,
            periodLength,
            currency,
            columnFilter,
            filterIds.get(currentFilterOrder).intValue(),
            em);
    points = new ArrayList<Report2DPoint>();
    List<PeriodValue> pvs = data.getPeriodValues();

    for (int i = 0; i < pvs.size(); i++) {
      points.add(new Report2DPoint(pvs.get(i)));
    }
  }