Iterator<ColumnAlias> iteratorForNewColumnAlias = newColumnAliasMap
.values().iterator();
// Delete non-existing column alias.
while (iteratorForOldColumnAlias.hasNext()) {
ColumnAlias oldColumnAlias = iteratorForOldColumnAlias.next();
Iterator<ColumnAlias> iteratorForNewColumnAlias1 = newColumnAliasMap
.values().iterator();
boolean columnAliasExists = false;
while (iteratorForNewColumnAlias1.hasNext()) {
ColumnAlias newColumnAlias = iteratorForNewColumnAlias1.next();
if (newColumnAlias.getId() == oldColumnAlias.getId()) {
columnAliasExists = true;
}
}
logger.debug("ColumnAliasExists: " + columnAliasExists);
if (!columnAliasExists) {
logger.debug("Removing ColumnAlias: " + oldColumnAlias);
foundMapping.getColumnAlias().remove(oldColumnAlias.getAlias());
try {
transaction.begin();
session.delete(oldColumnAlias);
transaction.commit();
} catch (JDBCException e) {
transaction.rollback();
throw new CruxException(e.getSQLException().getMessage(), e);
}
}
}
// Add new column alias and update old rowAlias.
while (iteratorForNewColumnAlias.hasNext()) {
ColumnAlias columnAlias = iteratorForNewColumnAlias.next();
logger.debug("columnAlias: " + columnAlias);
if (columnAlias.getId() == 0l) {
foundMapping.addColumnAlias(columnAlias);
} else {
long columnAliasId = columnAlias.getId();
String alias = columnAlias.getAlias();
ValueType columnAliasColumnType = columnAlias.getValueType();
String columnAliasCF = columnAlias.getColumnFamily();
String columnAliasQualifier = columnAlias.getQualifier();
Iterator<ColumnAlias> iteratorForOldColumnAlias1 = oldColumnAliasMap
.values().iterator();
while (iteratorForOldColumnAlias1.hasNext()) {
ColumnAlias oldColumnAlias = iteratorForOldColumnAlias1
.next();
if (oldColumnAlias.getId() == columnAliasId) {
oldColumnAlias.setAlias(alias);
oldColumnAlias.setValueType(columnAliasColumnType);
oldColumnAlias.setColumnFamily(columnAliasCF);
oldColumnAlias.setQualifier(columnAliasQualifier);
}
}
}
}