public void dupeConnection( HasDatabasesInterface hasDatabasesInterface, DatabaseMeta databaseMeta ) {
String name = databaseMeta.getName();
int pos = hasDatabasesInterface.indexOfDatabase( databaseMeta );
if ( databaseMeta != null ) {
DatabaseMeta databaseMetaCopy = (DatabaseMeta) databaseMeta.clone();
String dupename = BaseMessages.getString( PKG, "Spoon.Various.DupeName" ) + name;
databaseMetaCopy.setName( dupename );
getDatabaseDialog().setDatabaseMeta( databaseMetaCopy );
String newname = getDatabaseDialog().open();
if ( newname != null ) {
databaseMetaCopy.verifyAndModifyDatabaseName( hasDatabasesInterface.getDatabases(), name );
hasDatabasesInterface.addDatabase( pos + 1, databaseMetaCopy );
spoon.addUndoNew(
(UndoInterface) hasDatabasesInterface, new DatabaseMeta[] { (DatabaseMeta) databaseMetaCopy.clone() },
new int[] { pos + 1 } );
saveConnection( databaseMetaCopy, Const.VERSION_COMMENT_EDIT_VERSION );
refreshTree();
}
}
}