/**
   * @param subElems
   * @throws DataException
   */
  private void populateDeprecatedAggregations(IConfigurationElement[] subElems)
      throws DataException {
    if (subElems == null) return;
    for (int j = 0; j < subElems.length; j++) {
      try {
        IAggregation aggrFunc =
            (IAggregation) subElems[j].createExecutableExtension(ATTRIBUTE_AGGREGATION_CLASS);
        String name = aggrFunc.getName().toUpperCase();

        AggrFunctionWrapper aggrWrapper = new AggrFunctionWrapper(aggrFunc);
        populateExtendedAggrInfo(name, aggrFunc, subElems[j], aggrWrapper);

        if (aggrMap.put(name, aggrWrapper) != null)
          throw new DataException(ResourceConstants.DUPLICATE_AGGREGATION_NAME, name);
        allAggrNames.add(name);
      } catch (Exception e) {
        logger.logp(
            Level.WARNING,
            AggrFunctionWrapper.class.getName(),
            "populateDeprecatedAggregations",
            "Exception in aggregation extension loading.",
            e);
      }
    }
  }
 /*
  * (non-Javadoc)
  *
  * @see org.eclipse.birt.data.engine.api.aggregation.IAggrFunction#getName()
  */
 public String getName() {
   return aggrFunc.getName();
 }