Examples of ITableMetaData


Examples of org.dbunit.dataset.ITableMetaData

        logger.debug("getOperationMetaData(connection={}, metaData={}) - start", connection, metaData);

        IDataSet databaseDataSet = connection.createDataSet();
        String tableName = metaData.getTableName();

        ITableMetaData tableMetaData = databaseDataSet.getTableMetaData(tableName);
        Column[] columns = metaData.getColumns();

        List columnList = new ArrayList();
        for (int j = 0; j < columns.length; j++)
        {
            String columnName = columns[j].getColumnName();
          // Check if column exists in database
            // method "getColumnIndex()" throws NoSuchColumnsException when columns have not been found
          int dbColIndex = tableMetaData.getColumnIndex(columnName);
          // If we get here the column exists in the database
          Column dbColumn = tableMetaData.getColumns()[dbColIndex];
            columnList.add(dbColumn);
        }

        return new DefaultTableMetaData(tableMetaData.getTableName(),
                (Column[])columnList.toArray(new Column[0]),
                tableMetaData.getPrimaryKeys());
    }
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

            if (isEmpty(table))
            {
                continue;
            }

            ITableMetaData metaData = getOperationMetaData(connection,
                    table.getTableMetaData());
            RowOperation updateRowOperation = createUpdateOperation(connection,
                    metaData);
            RowOperation insertRowOperation = new InsertRowOperation(connection,
                    metaData);
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

     * @return The table that as a column with the given name
     * @throws DataSetException If no table could be found having a column with the given name
     */
    private ITable getTableForColumn(ITable table, String columnName) throws DataSetException
    {
        ITableMetaData tableMetaData = table.getTableMetaData();
        try
        {
            tableMetaData.getColumnIndex(columnName);
            // if the column index was resolved the table contains the given column.
            // So just use this table
            return table;
        }
        catch(NoSuchColumnException e)
        {
            // If the column was not found check for filtered table
            if(table instanceof ColumnFilterTable)
            {
                ITableMetaData originalMetaData = ((ColumnFilterTable)table).getOriginalMetaData();
                originalMetaData.getColumnIndex(columnName);
                // If we get here the column exists - return the table since it is not filtered
                // in the CompositeTable.
                return table;
            }
            else
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

            try
            {
                // Use the table name from the filtered dataset. This ensure
                // that table names are having the same case (lower/upper) from
                // getTableNames() and getTables() methods.
                ITableMetaData metaData = dataSet.getTableMetaData(tableNames[i]);
                nameList.add(metaData.getTableName());
            }
            catch (NoSuchTableException e)
            {
                logger.debug("Table '{}' not found in filtered dataset {}", tableNames[i], dataSet);
                // Skip this table name because the filtered dataset does not
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

                columns[i] = new Column((String) readColumns.get(i), DataType.UNKNOWN);
            }

            String tableName = url.getFile();
            tableName = tableName.substring(tableName.lastIndexOf("/")+1, tableName.indexOf(".csv"));
            ITableMetaData metaData = new DefaultTableMetaData(tableName, columns);
            _consumer.startTable(metaData);
            for (int i = 1 ; i < readData.size(); i++) {
                List rowList = (List)readData.get(i);
                Object[] row = rowList.toArray();
                for(int col = 0; col < row.length; col++) {
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

            for (int i = 0; i < readColumns.size(); i++) {
                columns[i] = new Column((String) readColumns.get(i), DataType.UNKNOWN);
            }

            String tableName = theDataFile.getName().substring(0, theDataFile.getName().indexOf(".csv"));
            ITableMetaData metaData = new DefaultTableMetaData(tableName, columns);
            _consumer.startTable(metaData);
            for (int i = 1 ; i < readData.size(); i++) {
                List rowList = (List)readData.get(i);
                Object[] row = rowList.toArray();
                for(int col = 0; col < row.length; col++) {
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

            for (int i = 0; i < readColumns.size(); i++) {
                columns[i] = new Column((String) readColumns.get(i), DataType.UNKNOWN);
            }

            String tableName = parser.getTableName();
            ITableMetaData metaData = new DefaultTableMetaData(tableName, columns);
            this.consumer.startTable(metaData);
            for (int i = 1; i < readData.size(); i++) {
                List rowList = (List) readData.get(i);
                Object[] row = rowList.toArray();
                for (int col = 0; col < row.length; col++) {
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

  protected void handleMissingColumns(Attributes attributes)
      throws DataSetException
  {
    List columnsToMerge = new ArrayList();
   
    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(attributes.getQName(i));
      }
      catch (NoSuchColumnException e) {
        columnsToMerge.add(new Column(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
        {
          StringBuffer extraColumnNames = new StringBuffer();
          for (Iterator i = columnsToMerge.iterator(); i.hasNext();) {
          Column col = (Column) i.next();
          extraColumnNames.append(extraColumnNames.length() > 0 ? "," : "").append(col.getColumnName());
        }
            String msg = "Extra columns (" + extraColumnNames.toString() + ") on line " + (_lineNumber + 1)
            + " for table " + activeMetaData.getTableName() + " (global line number is "
            + _lineNumberGlobal + "). Those columns will be ignored.";
            msg += "\n\tPlease add the extra columns to line 1,"
                    + " or use a DTD to make sure the value of those columns are populated"
                    + " or specify 'columnSensing=true' for your FlatXmlProducer.";
            msg += "\n\tSee FAQ for more details.";
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

        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);
                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 DTD
              if (_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] = attributes.getValue(column.getColumnName());
View Full Code Here

Examples of org.dbunit.dataset.ITableMetaData

      // Flush out the whole collected dataset
     
        // Start the table with the final metadata
      for (Iterator iterator = _tableBuffers.iterator(); iterator.hasNext();) {
          TableBuffer entry = (TableBuffer) iterator.next();
          ITableMetaData metaData = (ITableMetaData) entry.getMetaData();
           
          this._wrappedConsumer.startTable(metaData);
         
          List dataRows = (List) entry.getDataRows();
          for (Iterator dataIterator = dataRows.iterator(); dataIterator.hasNext();) {
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.