public Object createObject(Attributes attributes) {
    JRDesignCrosstabRowGroup group = new JRDesignCrosstabRowGroup();

    setGroupAtts(attributes, group);

    String widthAttr = attributes.getValue(ATTRIBUTE_width);
    if (widthAttr != null) {
      group.setWidth(Integer.parseInt(widthAttr));
    }

    String posAttr = attributes.getValue(ATTRIBUTE_headerPosition);
    if (posAttr != null) {
      Byte pos = (Byte) JRXmlConstants.getCrosstabRowPositionMap().get(posAttr);
      group.setPosition(pos.byteValue());
    }

    return group;
  }
  public Object createObject(Attributes attrs) {
    JRDesignChart chart = (JRDesignChart) digester.peek();

    JRDesignTimeSeriesDataset dataset = null;

    if (chart.getDataset() == null) {
      dataset = new JRDesignTimeSeriesDataset(chart.getDataset());
    } else {
      dataset = (JRDesignTimeSeriesDataset) chart.getDataset();
    }

    String timePeriod = attrs.getValue(ATTRIBUTE_timePeriod);
    if (timePeriod != null && timePeriod.length() > 0) {
      dataset.setTimePeriod(JRXmlConstants.getTimePeriod(timePeriod));
    }

    chart.setDataset(dataset);

    return dataset;
  }