Examples of ITableMetaData


Examples of org.dbunit.dataset.ITableMetaData

        String[] tableNames = dataSet.getTableNames();

        String sql = "";
        for (String tableName : tableNames) {
            ITable table = dataSet.getTable(tableName);
            ITableMetaData metadata = table.getTableMetaData();
            Column[] columns = metadata.getColumns();

            sql += "create table " + tableName + "( ";
            boolean first = true;
            for (Column column : columns) {
                if (!first) {
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

     * @throws DataSetException
     */
    protected void handleMissingColumns(Attributes attributes) throws DataSetException {
        List<Column> columnsToMerge = new ArrayList<Column>();

        ITableMetaData activeMetaData = getActiveMetaData();
        // Search all columns that do not yet exist and collect them
        int attributeLength = attributes.getLength();
        for (int i = 0; i < attributeLength; i++) {
            try {
                activeMetaData.getColumnIndex(getAttributeNameFromCache(attributes.getQName(i)));
            } catch (NoSuchColumnException e) {
                columnsToMerge.add(new Column(getAttributeNameFromCache(attributes.getQName(i)), DataType.UNKNOWN));
            }
        }

        if (!columnsToMerge.isEmpty()) {
            if (_columnSensing) {
                logger.debug("Column sensing enabled. Will create a new metaData with potentially new columns if needed");
                activeMetaData = mergeTableMetaData(columnsToMerge, activeMetaData);
                _orderedTableNameMap.update(activeMetaData.getTableName(), activeMetaData);
                // We also need to recreate the table, copying the data already
                // collected from the old one to the new one
                _consumer.startTable(activeMetaData);
            } else {
                StringBuilder extraColumnNames = new StringBuilder();
                for (Column col : columnsToMerge) {
                    extraColumnNames.append(extraColumnNames.length() > 0 ? "," : "").append(col.getColumnName());
                }
                if (logger.isWarnEnabled()) {
                    StringBuilder msg = new StringBuilder();
                    msg.append("Extra columns ({}) on line {} for table {} (global line number is {}). Those columns will be ignored.");
                    msg.append("\n\tPlease add the extra columns to line 1," + " or use a DTD to make sure the value of those columns are populated");
                    msg.append(" or specify 'columnSensing=true' for your FlatXmlProducer.");
                    msg.append("\n\tSee FAQ for more details.");
                    logger.warn(msg.toString(), new Object[] { extraColumnNames.toString(), _lineNumber + 1, activeMetaData.getTableName(), _lineNumberGlobal });
                }
            }
        }
    }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

    public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
        if (logger.isDebugEnabled())
            logger.debug("startElement(uri={}, localName={}, qName={}, attributes={}) - start", new Object[] { uri, localName, qName, attributes });

        try {
            ITableMetaData activeMetaData = getActiveMetaData();
            // Start of dataset
            if (activeMetaData == null && qName.equals(DATASET)) {
                _consumer.startDataSet();
                _orderedTableNameMap = new OrderedTableNameMap(_caseSensitiveTableNames);

                // SLAN register tables in the metadataset order
                if (_metaDataSet != null) {
                    for (String tableName : _metaDataSet.getTableNames()) {
                        _consumer.startTable(_metaDataSet.getTableMetaData(tableName));
                        _consumer.endTable();
                    }
                }

                return;
            }

            // New table
            if (isNewTable(qName)) {
                // If not first table, notify end of previous table to consumer
                if (activeMetaData != null) {
                    _consumer.endTable();
                }

                // In FlatXML the table might have appeared before already, so
                // check for this
                if (_orderedTableNameMap.containsTable(qName)) {
                    activeMetaData = (ITableMetaData) _orderedTableNameMap.get(qName);
                    _orderedTableNameMap.setLastTable(qName);
                } else {
                    activeMetaData = createTableMetaData(qName, attributes);
                    _orderedTableNameMap.add(activeMetaData.getTableName(), activeMetaData);
                }

                // Notify start of new table to consumer
                _consumer.startTable(activeMetaData);
                _lineNumber = 0;
            }

            // Row notification
            if (attributes.getLength() > 0) {
                // If we do not have a _metaDataSet or DTD
                if (_metaDataSet == null && (_dtdHandler == null || !_dtdHandler.isDtdPresent())) {
                    handleMissingColumns(attributes);
                    // Since a new MetaData object was created assign it to the
                    // local variable
                    activeMetaData = getActiveMetaData();
                }

                _lineNumber++;
                _lineNumberGlobal++;
                Column[] columns = activeMetaData.getColumns();
                Object[] rowValues = new Object[columns.length];
                for (int i = 0; i < columns.length; i++) {
                    Column column = columns[i];
                    rowValues[i] = getAttributeValueFromCache(attributes.getValue(column.getColumnName()));
                }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

      final List<Table> tables = createTables(dataset);

      for (Table table : tables)
      {
         ITableMetaData tableMetaData = createTableMetaData(table);
         consumer.startTable(tableMetaData);
         for (Row row : table.getRows())
         {
            List<String> values = new ArrayList<String>();
            for (Column column : tableMetaData.getColumns())
            {
               values.add(row.valueOf(column.getColumnName()));
            }
            consumer.row(values.toArray());
         }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

      @SuppressWarnings("unchecked")
      final List<Table> tables = createTables((Map<String, List<Map<String, String>>>) new Yaml().load(input));

      for (Table table : tables)
      {
         ITableMetaData tableMetaData = createTableMetaData(table);
         consumer.startTable(tableMetaData);
         for (Row row : table.getRows())
         {
            List<String> values = new ArrayList<String>();
            for (Column column : tableMetaData.getColumns())
            {
               values.add(row.valueOf(column.getColumnName()));
            }
            consumer.row(values.toArray());
         }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

      @SuppressWarnings("unchecked")
      final List<Table> tables = createTables((Map<String, List<Map<String, String>>>) createYamlReader().load(input));

      for (Table table : tables)
      {
         ITableMetaData tableMetaData = createTableMetaData(table);
         consumer.startTable(tableMetaData);
         for (Row row : table.getRows())
         {
            List<String> values = new ArrayList<String>();
            for (Column column : tableMetaData.getColumns())
            {
               values.add(row.valueOf(column.getColumnName()));
            }
            consumer.row(values.toArray());
         }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

            columns[i] = new Column((String) readColumns.get(i),
                    DataType.UNKNOWN);
        }
        final String tableName = source.getName().substring(0,
                source.getName().indexOf(".csv"));
        final ITableMetaData metaData = new DefaultTableMetaData(tableName,
                columns);
        dataSet.startTable(metaData);
        for (int rowIndex = 1; rowIndex < readData.size(); rowIndex++) {
            final List row = (List) readData.get(rowIndex);
            final Object[] values = row.toArray();
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

      @SuppressWarnings("unchecked")
      final List<Table> tables = createTables((Map<String, List<Map<String, String>>>) new Yaml().load(input));

      for (Table table : tables)
      {
         ITableMetaData tableMetaData = createTableMetaData(table);
         consumer.startTable(tableMetaData);
         for (Row row : table.getRows())
         {
            List<String> values = new ArrayList<String>();
            for (Column column : tableMetaData.getColumns())
            {
               values.add(row.valueOf(column.getColumnName()));
            }
            consumer.row(values.toArray());
         }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

      final List<Table> tables = createTables(dataset);

      for (Table table : tables)
      {
         ITableMetaData tableMetaData = createTableMetaData(table);
         consumer.startTable(tableMetaData);
         for (Row row : table.getRows())
         {
            List<String> values = new ArrayList<String>();
            for (Column column : tableMetaData.getColumns())
            {
               values.add(row.valueOf(column.getColumnName()));
            }
            consumer.row(values.toArray());
         }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

  private ITable getCustomCsvTable() {
    return new CsvTable(new CsvParser("\"'", '|'), "table1", new ClassPathResource("CsvTableTest.txt", getClass()));
  }

  private void verifyTableMetaData(ITable table) throws DataSetException {
    ITableMetaData tableMetaData = table.getTableMetaData();
    assertEquals("table1", tableMetaData.getTableName());
    Column[] columns = tableMetaData.getColumns();
    assertEquals(4, columns.length);
    assertEquals("ONE", columns[0].getColumnName());
    assertEquals("TWO", columns[1].getColumnName());
    assertEquals("THREE", columns[2].getColumnName());
    assertEquals("FOUR", columns[3].getColumnName());
    assertEquals(DataType.UNKNOWN, columns[0].getDataType());
    assertEquals(DataType.UNKNOWN, columns[1].getDataType());
    assertEquals(DataType.UNKNOWN, columns[2].getDataType());
    assertEquals(DataType.UNKNOWN, columns[3].getDataType());
    Column[] primaryKeys = tableMetaData.getPrimaryKeys();
    assertEquals(0, primaryKeys.length);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.