/** * Adds the given tables. * * @param tables The tables to add */ public void addTables(Collection tables) { for (Iterator it = tables.iterator(); it.hasNext();) { addTable((Table)it.next()); } }
/** * {@inheritDoc} */ public void apply(Database database, boolean caseSensitive) { Table table = new CloneHelper().clone(_newTable, true, false, database, caseSensitive); database.addTable(table); } }
private Database identifyNewTables() { Database _database = new Database(); _database.setName(database.getName()); Collection<String> tableNames = tblNameMap.values(); LOG.info("Initializing database and creating tables"); for (String tableName : tableNames) { if (database.findTable(tableName) == null) { Table table = createTable(tableName); LOG.info("Creating {}", table.toVerboseString()); _database.addTable(table); database.addTable(table); } else { LOG.debug("Table {} already exists", tableName); } } return _database; }
/** * Reads table elements from the XML stream reader and adds them to the given * database model. * * @param xmlReader The reader * @param model The database model to add the table objects to */ private void readTableElements(XMLStreamReader xmlReader, Database model) throws XMLStreamException, IOException { int eventType = XMLStreamReader.START_ELEMENT; while (eventType != XMLStreamReader.END_ELEMENT) { eventType = xmlReader.next(); if (eventType == XMLStreamReader.START_ELEMENT) { if (isSameAs(xmlReader.getName(), QNAME_ELEMENT_TABLE)) { model.addTable(readTableElement(xmlReader)); } else { readOverElement(xmlReader); } } } }
private Database identifyNewTables(){ Database _database = new Database(); _database.setName(database.getName()); Collection<JdbcEntityDefinition> entityDefinitions = JdbcEntityDefinitionManager.getJdbcEntityDefinitionMap().values(); LOG.info("Initializing database and creating tables"); for (JdbcEntityDefinition entityDefinition : entityDefinitions) { if (database.findTable(entityDefinition.getJdbcTableName()) == null) { Table table = createTable(entityDefinition); LOG.info("Creating {}", table.toVerboseString()); _database.addTable(table); database.addTable(table); } else { LOG.debug("Table {} already exists", entityDefinition.getJdbcTableName()); } } return _database; }
private Database identifyNewTables(){ Database _database = new Database(); _database.setName(database.getName()); Collection<JdbcEntityDefinition> entityDefinitions = JdbcEntityDefinitionManager.getJdbcEntityDefinitionMap().values(); LOG.info("Initializing database and creating tables"); for (JdbcEntityDefinition entityDefinition : entityDefinitions) { if (database.findTable(entityDefinition.getJdbcTableName()) == null) { Table table = createTable(entityDefinition); LOG.info("Creating {}", table.toVerboseString()); _database.addTable(table); database.addTable(table); } else { LOG.debug("Table {} already exists", entityDefinition.getJdbcTableName()); } } return _database; }
/** * {@inheritDoc} */ public void apply(Database database, boolean caseSensitive) { // we only need to replace the table in the model, as there can't be a // foreign key from or to it when these kind of changes are created for (int tableIdx = 0; tableIdx < database.getTableCount(); tableIdx++) { Table curTable = database.getTable(tableIdx); if ((caseSensitive && curTable.getQualifiedName().equals(getChangedTable())) || (!caseSensitive && curTable.getQualifiedName().equalsIgnoreCase(getChangedTable()))) { database.removeTable(tableIdx); database.addTable(tableIdx, new CloneHelper().clone(_targetTable, true, false, database, caseSensitive)); break; } } } }
addTable(cloneHelper.clone(table, true, false, this, true));
/** * Returns a deep clone of the given model object, including all tables, foreign keys, indexes etc. * * @param source The source model * @return The clone */ public Database clone(Database source) { Database result = new Database(); result.setName(source.getName()); result.setIdMethod(source.getIdMethod()); result.setVersion(source.getVersion()); for (int tableIdx = 0; tableIdx < source.getTableCount(); tableIdx++) { Table sourceTable = source.getTable(tableIdx); result.addTable(clone(sourceTable, true, false, result, true)); } for (int tableIdx = 0; tableIdx < source.getTableCount(); tableIdx++) { Table sourceTable = source.getTable(tableIdx); Table clonedTable = result.getTable(tableIdx); for (int fkIdx = 0; fkIdx < sourceTable.getForeignKeyCount(); fkIdx++) { ForeignKey sourceFk = sourceTable.getForeignKey(fkIdx); clonedTable.addForeignKey(clone(sourceFk, clonedTable, result, true)); } } return result; }