[Squirrel-sql-commits] sql12/plugins/refactoring/src/net/sourceforge/squirrel_sql/plugins/refactori
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2006-11-06 02:16:30
|
Update of /cvsroot/squirrel-sql/sql12/plugins/refactoring/src/net/sourceforge/squirrel_sql/plugins/refactoring In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7214/plugins/refactoring/src/net/sourceforge/squirrel_sql/plugins/refactoring Modified Files: refactoring.properties DBUtil.java RefactoringPlugin.java Log Message: Updated refactoring to support modifying columns. This is mostly only implemented for Oracle and MySQL so far, as most of the dialects have stubs for this capability at this point. Index: refactoring.properties =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/refactoring/src/net/sourceforge/squirrel_sql/plugins/refactoring/refactoring.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** refactoring.properties 16 Oct 2006 00:43:06 -0000 1.1 --- refactoring.properties 6 Nov 2006 02:16:27 -0000 1.2 *************** *** 19,22 **** --- 19,26 ---- action.net.sourceforge.squirrel_sql.plugins.refactoring.actions.AddColumnAction.tooltip=Add Column + action.net.sourceforge.squirrel_sql.plugins.refactoring.actions.AddPrimaryKeyAction.image= + action.net.sourceforge.squirrel_sql.plugins.refactoring.actions.AddPrimaryKeyAction.name=Add Primary Key + action.net.sourceforge.squirrel_sql.plugins.refactoring.actions.AddPrimaryKeyAction.tooltip=Add Primary Key + action.net.sourceforge.squirrel_sql.plugins.refactoring.actions.RemoveColumnAction.image= action.net.sourceforge.squirrel_sql.plugins.refactoring.actions.RemoveColumnAction.name=Drop Column Index: DBUtil.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/refactoring/src/net/sourceforge/squirrel_sql/plugins/refactoring/DBUtil.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DBUtil.java 16 Oct 2006 00:43:06 -0000 1.1 --- DBUtil.java 6 Nov 2006 02:16:27 -0000 1.2 *************** *** 12,16 **** /** * - * @param tableName * @param info * @param dialect --- 12,15 ---- *************** *** 21,26 **** * supported by this dialect. */ ! public static String[] getAlterSQLForColumnAddition(String tableName, ! TableColumnInfo info, HibernateDialect dialect) throws HibernateException, UnsupportedOperationException --- 20,24 ---- * supported by this dialect. */ ! public static String[] getAlterSQLForColumnAddition(TableColumnInfo info, HibernateDialect dialect) throws HibernateException, UnsupportedOperationException *************** *** 28,32 **** ArrayList result = new ArrayList(); ! String[] addSQLs = dialect.getColumnAddSQL(tableName, info); for (int i = 0; i < addSQLs.length; i++) { --- 26,30 ---- ArrayList result = new ArrayList(); ! String[] addSQLs = dialect.getColumnAddSQL(info); for (int i = 0; i < addSQLs.length; i++) { *************** *** 35,52 **** } ! if (dialect.supportsColumnComment()) { ! result.add(dialect.getColumnCommentAlterSQL(tableName, ! info.getColumnName(), ! info.getRemarks())); } return (String[])result.toArray(new String[result.size()]); } ! public static String getAlterSQLForColumnChange(String tableName, ! TableColumnInfo info, ! HibernateDialect dialect) { ! StringBuffer result = new StringBuffer(); ! return result.toString(); } --- 33,94 ---- } ! return (String[])result.toArray(new String[result.size()]); ! } ! ! public static String[] getAlterSQLForColumnChange(TableColumnInfo from, ! TableColumnInfo to, ! HibernateDialect dialect) ! { ! ArrayList result = new ArrayList(); ! // It is important to process the name change first - so that we can use ! // the new name instead of the old in subsequent alterations ! String nameSQL = getColumnNameAlterSQL(from, to, dialect); ! if (nameSQL != null) { ! result.add(nameSQL); ! } ! String nullSQL = getNullAlterSQL(from, to, dialect); ! if (nullSQL != null) { ! result.add(nullSQL); ! } ! String commentSQL = getCommentAlterSQL(from, to, dialect); ! if (commentSQL != null) { ! result.add(commentSQL); } return (String[])result.toArray(new String[result.size()]); } ! public static String getColumnNameAlterSQL(TableColumnInfo from, ! TableColumnInfo to, ! HibernateDialect dialect) { ! if (from.getColumnName().equals(to.getColumnName())) { ! return null; ! } ! return dialect.getColumnNameAlterSQL(from, to); ! } ! ! public static String getNullAlterSQL(TableColumnInfo from, ! TableColumnInfo to, ! HibernateDialect dialect) ! { ! if (from.isNullable().equalsIgnoreCase(to.isNullable())) { ! return null; ! } ! return dialect.getColumnNullableAlterSQL(to); ! } ! ! public static String getCommentAlterSQL(TableColumnInfo from, ! TableColumnInfo to, ! HibernateDialect dialect) ! { ! String oldComment = from.getRemarks(); ! String newComment = to.getRemarks(); ! if ((oldComment == null && newComment != null) ! || (oldComment != null && newComment == null) ! || (!oldComment.equals(newComment))) ! { ! return dialect.getColumnCommentAlterSQL(to); ! } ! return null; } Index: RefactoringPlugin.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/refactoring/src/net/sourceforge/squirrel_sql/plugins/refactoring/RefactoringPlugin.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RefactoringPlugin.java 16 Oct 2006 00:43:06 -0000 1.1 --- RefactoringPlugin.java 6 Nov 2006 02:16:27 -0000 1.2 *************** *** 36,39 **** --- 36,40 ---- import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI; import net.sourceforge.squirrel_sql.client.session.ISession; + import net.sourceforge.squirrel_sql.client.session.action.DropSelectedTablesAction; import net.sourceforge.squirrel_sql.fw.gui.GUIUtils; import net.sourceforge.squirrel_sql.fw.sql.DatabaseObjectType; *************** *** 41,44 **** --- 42,46 ---- import net.sourceforge.squirrel_sql.fw.util.log.LoggerController; import net.sourceforge.squirrel_sql.plugins.refactoring.actions.AddColumnAction; + import net.sourceforge.squirrel_sql.plugins.refactoring.actions.AddPrimaryKeyAction; import net.sourceforge.squirrel_sql.plugins.refactoring.actions.ModifyColumnAction; import net.sourceforge.squirrel_sql.plugins.refactoring.actions.RemoveColumnAction; *************** *** 203,217 **** coll.add(new ModifyColumnAction(app, _resources)); coll.add(new RemoveColumnAction(app, _resources)); ! /* ! coll.add(new CreateSelectScriptAction(app, _resources, this)); ! coll.add(new DropTableScriptAction(app, _resources, this)); ! coll.add(new CreateDataScriptAction(app, _resources, this)); ! coll.add(new CreateTemplateDataScriptAction(app, _resources, this)); ! coll.add(new CreateDataScriptOfCurrentSQLAction(app, _resources, this)); ! coll.add(new CreateTableOfCurrentSQLAction(app, _resources, this)); ! createMenu(); ! ! SQLScriptPreferencesManager.initialize(this); ! */ } --- 205,209 ---- coll.add(new ModifyColumnAction(app, _resources)); coll.add(new RemoveColumnAction(app, _resources)); ! coll.add(new AddPrimaryKeyAction(app, _resources)); } *************** *** 222,226 **** { super.unload(); - //SQLScriptPreferencesManager.unload(); } --- 214,217 ---- *************** *** 280,284 **** //session.getApplication().addToMenu(MainFrameMenuBar, menu) ! JMenu tableMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING); JMenuItem addColItem = new JMenuItem("Add Column"); addColItem.setAction(coll.get(AddColumnAction.class)); --- 271,276 ---- //session.getApplication().addToMenu(MainFrameMenuBar, menu) ! JMenu tableObjectMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING); ! JMenu columnMenu = new JMenu("Column"); JMenuItem addColItem = new JMenuItem("Add Column"); addColItem.setAction(coll.get(AddColumnAction.class)); *************** *** 288,296 **** modifyMenuItem.setAction(coll.get(ModifyColumnAction.class)); ! tableMenu.add(addColItem); ! tableMenu.add(modifyMenuItem); ! tableMenu.add(removeColItem); ! api.addToPopup(DatabaseObjectType.TABLE, tableMenu); /* api.addToPopup(DatabaseObjectType.TABLE, coll.get(CreateTableScriptAction.class)); --- 280,316 ---- modifyMenuItem.setAction(coll.get(ModifyColumnAction.class)); ! columnMenu.add(addColItem); ! columnMenu.add(modifyMenuItem); ! columnMenu.add(removeColItem); ! JMenuItem dropTableItem = new JMenuItem("Drop Table"); ! dropTableItem.setAction(coll.get(DropSelectedTablesAction.class)); ! JMenuItem addIndexItem = new JMenuItem("Add Index"); ! JMenuItem dropIndexItem = new JMenuItem("Drop Index"); ! JMenuItem addPrimaryKeyItem = new JMenuItem("Add Primary Key"); ! addPrimaryKeyItem.setAction(coll.get(AddPrimaryKeyAction.class)); ! JMenuItem dropPrimaryKeyItem = new JMenuItem("Drop Primary Key"); ! JMenuItem addForeignKeyItem = new JMenuItem("Add Foreign Key"); ! JMenuItem dropForeignKeyItem = new JMenuItem("Drop Foreign Key"); ! JMenuItem enableConstraintsItem = new JMenuItem("Enable Constraints"); ! JMenuItem disableConstraintsItem = new JMenuItem("Disable Constraints"); ! ! ! JMenu tableMenu = new JMenu("Table"); ! ! tableMenu.add(dropTableItem); ! tableMenu.add(addIndexItem); ! tableMenu.add(dropIndexItem); ! tableMenu.add(addPrimaryKeyItem); ! tableMenu.add(dropPrimaryKeyItem); ! tableMenu.add(addForeignKeyItem); ! tableMenu.add(dropForeignKeyItem); ! tableMenu.add(enableConstraintsItem); ! tableMenu.add(disableConstraintsItem); ! ! tableObjectMenu.add(tableMenu); ! tableObjectMenu.add(columnMenu); ! ! api.addToPopup(DatabaseObjectType.TABLE, tableObjectMenu); /* api.addToPopup(DatabaseObjectType.TABLE, coll.get(CreateTableScriptAction.class)); |