Package org.restsql.core

Examples of org.restsql.core.TableMetaData


              : table.getTableName()));
          resultSet = statement.executeQuery();
          while (resultSet.next()) {
            final String columnName = resultSet.getString(1);
            if (!table.getColumns().containsKey(columnName)) {
              TableMetaData mainTable;
              switch (table.getTableRole()) {
                case ChildExtension:
                  mainTable = childTable;
                  break;
                default: // Child, ParentExtension, Unknown
                  mainTable = parentTable;
              }
              // Look for a pk on the main table with the same name
              for (final ColumnMetaData pk : mainTable.getPrimaryKeys()) {
                if (columnName.equals(pk.getColumnName())) {
                  final ColumnMetaData fkColumn = Factory.getColumnMetaData();
                  fkColumn.setAttributes(
                      table.getDatabaseName(),
                      table.getQualifiedTableName(),
View Full Code Here


          getQualifiedColumnName(tableName, qualifiedTableName, readOnly, columnName), columnLabel,
          getQualifiedColumnLabel(tableName, qualifiedTableName, readOnly, columnLabel),
          resultSetMetaData.getColumnTypeName(colNumber),
          resultSetMetaData.getColumnType(colNumber), readOnly);

      TableMetaData table = (TableMetaDataImpl) tableMap.get(column.getQualifiedTableName());
      if (table == null) {
        // Create table metadata object and add to special references
        final Table tableDef = SqlResourceDefinitionUtils.getTable(definition, column);
        if (tableDef == null) {
          throw new SqlResourceException("Definition requires table element for "
              + column.getTableName() + ", referenced by column " + column.getColumnLabel());
        }
        table = Factory.getTableMetaData();
        table.setAttributes(tableName, qualifiedTableName, databaseName,
            TableRole.valueOf(tableDef.getRole()));
        tableMap.put(column.getQualifiedTableName(), table);
        tables.add(table);

        switch (table.getTableRole()) {
          case Parent:
            parentTable = table;
            if (tableDef.getAlias() != null) {
              table.setTableAlias(tableDef.getAlias());
            }
            // fall through
          case ParentExtension:
            parentPlusExtTables.add(table);
            break;
          case Child:
            childTable = table;
            if (tableDef.getAlias() != null) {
              table.setTableAlias(tableDef.getAlias());
            }
            // fall through
          case ChildExtension:
            childPlusExtTables.add(table);
            break;
          case Join: // unlikely to be in the select columns, but just in case
            joinTable = table;
            joinList = new ArrayList<TableMetaData>(1);
            joinList.add(joinTable);
            break;
          default: // Unknown
        }
      }

      // Add column to the table
      table.addColumn(column);
      column.setTableRole(table.getTableRole());

      // Add column to special column lists
      allReadColumns.add(column);
      switch (table.getTableRole()) {
        case Parent:
        case ParentExtension:
          parentReadColumns.add(column);
          break;
        case Child:
View Full Code Here

      if (sql == null) {
        sqls.remove(qualifiedTableName);
      } else {
        // Iterate through the resourceIds and build the where clause sql for each table
        for (final RequestValue resId : resIds) {
          final TableMetaData table = metaData.getTableMap().get(qualifiedTableName);
          final ColumnMetaData column = table.getColumns().get(resId.getName());
          if (column != null) {
            if (sql.getClause().length() == 0) {
              sql.appendToBothClauses(" WHERE ");
            } else { // sql.getClause().length() > 0
              sql.appendToBothClauses(" AND ");
View Full Code Here

TOP

Related Classes of org.restsql.core.TableMetaData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.