/**
   * @param fromAliasNameValue
   * @param fromTables
   * @return
   * @throws DAOException
   */
  public QueryResultObjectData createQueryResultObjectData(
      String fromAliasNameValue, Set fromTables) throws DAOException {
    QueryResultObjectData queryResultObjectData;
    queryResultObjectData = new QueryResultObjectData();
    queryResultObjectData.setAliasName(fromAliasNameValue);
    // Aarti: getting related tables that should be dependent
    // on main object for authorization
    Vector relatedTables = new Vector();
    relatedTables = QueryBizLogic.getRelatedTableAliases(fromAliasNameValue);
    // remove all the related objects that are not part of the current query
    for (int i = 0; i < relatedTables.size(); i++) {
      if (!fromTables.contains(relatedTables.get(i))) {
        relatedTables.remove(i--);
      }
    }

    Logger.out.debug("After removing tables not in query relatedTable:" + relatedTables);
    //					Aarti: Get main query objects which should have individual checks
    // for authorization and should not be dependent on others
    Vector mainQueryObjects = QueryBizLogic.getMainObjectsOfQuery();

    String queryObject;
    // Aarti: remove independent query objects from related objects
    // vector and add them to tableSet so that their authorization
    // is checked individually
    for (int i = 0; i < mainQueryObjects.size(); i++) {
      queryObject = (String) mainQueryObjects.get(i);
      if (relatedTables.contains(queryObject)) {
        relatedTables.remove(queryObject);
        //							tableSet.add(queryObject);
        if (!queryObject.equals(fromAliasNameValue)) {
          queryResultObjectData.addRelatedQueryResultObject(new QueryResultObjectData(queryObject));
        }
      }
    }

    // Aarti: Map all related tables to the main table
    //					relatedTablesMap.put(fromAliasNameValue, relatedTables);
    queryResultObjectData.setDependentObjectAliases(relatedTables);
    return queryResultObjectData;
  }