Package org.apache.metamodel.schema

Examples of org.apache.metamodel.schema.Column


        if (columnName == null) {
            throw new IllegalArgumentException("columnName cannot be null");
        }

        GroupedQueryBuilderImpl queryBuilder = new GroupedQueryBuilderImpl(dataContext, query);
        Column column = queryBuilder.findColumn(columnName);
        return select(column);
    }
View Full Code Here


            final DataSetHeader header = _dataSet.getHeader();
            final int size = header.size();
            final String[] rowValues = new String[size];

            for (int i = 0; i < size; i++) {
                final Column column = header.getSelectItem(i).getColumn();
                final int columnNumber = column.getColumnNumber();
                if (columnNumber < csvValues.length) {
                    rowValues[i] = csvValues[columnNumber];
                } else {
                    // Ticket #125: Missing values should be interpreted as
                    // null.
View Full Code Here

        Schema schema = dc.getMainSchema();
        assertEquals("[" + getDatabaseName() + "]", Arrays.toString(schema.getTableNames()));

        assertEquals("[_id, _rev, age, gender, name]",
                Arrays.toString(schema.getTableByName(getDatabaseName()).getColumnNames()));
        Column idColumn = schema.getTableByName(getDatabaseName()).getColumnByName("_id");
        assertEquals("Column[name=_id,columnNumber=0,type=VARCHAR,nullable=false,nativeType=null,columnSize=null]",
                idColumn.toString());
        assertTrue(idColumn.isPrimaryKey());

        assertEquals("Column[name=_rev,columnNumber=1,type=VARCHAR,nullable=false,nativeType=null,columnSize=null]",
                schema.getTableByName(getDatabaseName()).getColumnByName("_rev").toString());

        DataSet ds;
View Full Code Here

    private Object getValue(ResultSet resultSet, int i) throws SQLException {
        final SelectItem selectItem = getHeader().getSelectItem(i);
        final int columnIndex = i + 1;
        if (selectItem.getFunction() == null) {
            Column column = selectItem.getColumn();
            if (column != null) {
                ColumnType type = column.getType();
                try {
                    if (type == ColumnType.TIME) {
                        return _resultSet.getTime(columnIndex);
                    } else if (type == ColumnType.DATE) {
                        return _resultSet.getDate(columnIndex);
View Full Code Here

        Column[] columns = _table.getColumns();
        for (int i = 0; i < columns.length; i++) {
            if (i != 0) {
                sb.append(',');
            }
            Column column = columns[i];
            sb.append(column.getName());
            ColumnType type = column.getType();
            if (type != null) {
                sb.append(' ');
                sb.append(type.toString());
                Integer columnSize = column.getColumnSize();
                if (columnSize != null) {
                    sb.append('(');
                    sb.append(columnSize);
                    sb.append(')');
                }
            }
            if (column.isNullable() != null
                    && !column.isNullable().booleanValue()) {
                sb.append(" NOT NULL");
            }
            if (column.isPrimaryKey()) {
                sb.append(" PRIMARY KEY");
            }
        }
        sb.append(")");
        return sb.toString();
View Full Code Here

                break;
            }
            maxRows--;
            Object[] dataValues = new Object[columns.length];
            for (int i = 0; i < columns.length; i++) {
                Column column = columns[i];
                int columnNumber = column.getColumnNumber();
                // Some rows may not contain values for all columns
                // (attributes)
                if (columnNumber < tableDataRow.length) {
                    dataValues[i] = tableDataRow[columnNumber];
                } else {
View Full Code Here

        String textContent = getTextContent(element);
        String tableName = tablePrefix + element.getNodeName();
        if (attributes.length > 0 || textContent != null || hasSiblings(element)) {
            // We need to represent this type of node with a table
            MutableTable table = (MutableTable) _schema.getTableByName(tableName);
            Column idColumn;
            MutableColumn foreignKeyColumn;
            List<Object[]> tableRows;
            if (table == null) {
                logger.info("Creating table: {}", tableName);
                table = new MutableTable(tableName, TableType.TABLE, _schema);
                _schema.addTable(table);
                idColumn = getIdColumn(table);
                tableRows = new ArrayList<Object[]>();
                _tableData.put(tableName, tableRows);

                if (parentKeyColumn != null) {
                    Table parentTable = parentKeyColumn.getTable();
                    foreignKeyColumn = new MutableColumn(parentTable.getName() + "_id", parentKeyColumn.getType(), table,
                            table.getColumnCount(), false);
                    foreignKeyColumn.setNativeType(NATIVE_TYPE_FOREIGN_KEY);
                    table.addColumn(foreignKeyColumn);

                    MutableRelationship.createRelationship(new Column[] { parentKeyColumn }, new Column[] { foreignKeyColumn });

                } else {
                    foreignKeyColumn = null;
                }
            } else {
                idColumn = getIdColumn(table);
                tableRows = _tableData.get(tableName);
                Column[] foreignKeys = table.getForeignKeys();
                if (foreignKeys.length == 1) {
                    foreignKeyColumn = (MutableColumn) foreignKeys[0];
                } else {
                    foreignKeyColumn = null;
                }
            }

            Column textContentColumn = getTextContentColumn(table, element.getNodeName());
            Map<Column, String> columnValues = new HashMap<Column, String>();
            for (Attr attr : attributes) {
                String name = attr.getName();
                MutableColumn column = (MutableColumn) table.getColumnByName(name);
                if (column == null) {
                    logger.info("Creating column: {}.{}", tableName, name);
                    column = new MutableColumn(name, ColumnType.STRING, table, table.getColumnCount(), true);
                    column.setNativeType(NATIVE_TYPE_ATTRIBUTE);
                    table.addColumn(column);
                }
                columnValues.put(column, attr.getValue());
            }

            // Create a row
            Object[] rowData = new Object[table.getColumnCount()];
            // Iterate id column
            int id = tableRows.size() + 1;
            rowData[idColumn.getColumnNumber()] = id;
            if (foreignKeyColumn != null) {
                rowData[foreignKeyColumn.getColumnNumber()] = parentKey;
            }
            // Add value for text content (if available)
            if (textContent != null) {
                rowData[textContentColumn.getColumnNumber()] = textContent;
            }
            // Add values for attributes
            for (Entry<Column, String> entry : columnValues.entrySet()) {
                rowData[entry.getKey().getColumnNumber()] = entry.getValue();
            }
View Full Code Here

                }

                final SelectItem selectItem = orderByItem.getSelectItem();
                validateSoqlSupportedSelectItem(selectItem);

                final Column column = selectItem.getColumn();
                sb.append(column.getName());
                sb.append(' ');
                sb.append(orderByItem.getDirection());

                i++;
            }
View Full Code Here

    boolean hasConverter = false;
    SelectItem[] selectItems = dataSet.getSelectItems();
    TypeConverter<?, ?>[] converterArray = new TypeConverter[selectItems.length];
    for (int i = 0; i < selectItems.length; i++) {
      SelectItem selectItem = selectItems[i];
      Column column = selectItem.getColumn();
      if (column != null && selectItem.getFunction() == null) {
        TypeConverter<?, ?> converter = converters.get(column);
        if (converter != null) {
          hasConverter = true;
          converterArray[i] = converter;
View Full Code Here

        }

        final SelectItem selectItem = filterItem.getSelectItem();
        validateSoqlSupportedSelectItem(selectItem);

        final Column column = selectItem.getColumn();
        sb.append(column.getName());
        sb.append(' ');

        final OperatorType operator = filterItem.getOperator();
        if (operator == OperatorType.IN) {
            throw new UnsupportedOperationException("IN operator not supported: " + filterItem);
View Full Code Here

TOP

Related Classes of org.apache.metamodel.schema.Column

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.