public static Map<String, String> getPackageNames() {
    Map<String, String> packageNames = new HashMap<String, String>();
    for (DataSource ds : getDataGroup().getDataSource()) {
      packageNames.put(ds.getSourceName(), ds.getSourcePackageName());
    }

    return packageNames;
  }
  /** This method provides a HashMap for users to select data item for each data group. */
  public static Map<String, List<SourceItem>> getSourceItem() {
    Map<String, List<SourceItem>> sourceItems = new HashMap<String, List<SourceItem>>();
    List<SourceItem> sortedItemList = null;

    DynamicSearchSourceItemComparator dssic = new DynamicSearchSourceItemComparator();

    for (DataSource dataSource : getDataGroup().getDataSource()) {
      sortedItemList = new ArrayList<SourceItem>();
      for (SourceItem item : dataSource.getSourceItem()) {
        sortedItemList.add(item);
      }
      Collections.sort(sortedItemList, dssic);
      sourceItems.put(dataSource.getSourceName(), sortedItemList);
    }
    return sourceItems;
  }