[Squirrel-sql-commits] sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmar
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Gerd W. <ger...@us...> - 2005-05-27 22:49:56
|
Update of /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17138/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark Modified Files: AddBookmarkCommand.java BookmarkManager.java CompleteBookmarkAction.java DefaultBookmarksFactory.java RunBookmarkAction.java RunBookmarkCommand.java SQLBookmarkPlugin.java sqlbookmark.properties Log Message: Introduced the tools popup Index: RunBookmarkAction.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/RunBookmarkAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RunBookmarkAction.java 29 Apr 2003 10:18:40 -0000 1.1 --- RunBookmarkAction.java 27 May 2005 22:49:42 -0000 1.2 *************** *** 26,32 **** --- 26,35 ---- import net.sourceforge.squirrel_sql.client.IApplication; + import net.sourceforge.squirrel_sql.client.gui.session.SessionInternalFrame; + import net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFrame; import net.sourceforge.squirrel_sql.client.action.SquirrelAction; import net.sourceforge.squirrel_sql.client.plugin.IPlugin; import net.sourceforge.squirrel_sql.client.session.ISession; + import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel; import net.sourceforge.squirrel_sql.client.session.action.ISessionAction; *************** *** 72,77 **** plugin.getBookmarkManager().get(item.getText()); ! if (bookmark != null) ! new RunBookmarkCommand(getParentFrame(evt), session, bookmark, plugin).execute(); } } --- 75,96 ---- plugin.getBookmarkManager().get(item.getText()); ! ISQLEntryPanel sqlEntryPanel; ! ! if(session.getActiveSessionWindow() instanceof SessionInternalFrame) ! { ! sqlEntryPanel = ((SessionInternalFrame)session.getActiveSessionWindow()).getSQLPanelAPI().getSQLEntryPanel(); ! } ! else if(session.getActiveSessionWindow() instanceof SQLInternalFrame) ! { ! sqlEntryPanel = ((SQLInternalFrame)session.getActiveSessionWindow()).getSQLPanelAPI().getSQLEntryPanel(); ! } ! else ! { ! return; ! } ! ! ! if (bookmark != null) ! new RunBookmarkCommand(getParentFrame(evt), session, bookmark, plugin, sqlEntryPanel).execute(); } } Index: AddBookmarkCommand.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/AddBookmarkCommand.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AddBookmarkCommand.java 26 May 2005 00:12:58 -0000 1.3 --- AddBookmarkCommand.java 27 May 2005 22:49:42 -0000 1.4 *************** *** 33,36 **** --- 33,39 ---- import net.sourceforge.squirrel_sql.client.plugin.IPlugin; import net.sourceforge.squirrel_sql.client.session.ISession; + import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel; + import net.sourceforge.squirrel_sql.client.gui.session.SessionInternalFrame; + import net.sourceforge.squirrel_sql.client.gui.session.SQLInternalFrame; import net.sourceforge.squirrel_sql.fw.util.log.ILogger; *************** *** 88,92 **** */ public void execute() { ! if (session != null) { AddBookmarkDialog abd = new AddBookmarkDialog(frame, plugin); GUIUtils.centerWithinParent(abd); --- 91,114 ---- */ public void execute() { ! if (session == null) { ! return; ! } ! ! ISQLEntryPanel sqlEntryPanel; ! ! if(session.getActiveSessionWindow() instanceof SessionInternalFrame) ! { ! sqlEntryPanel = ((SessionInternalFrame)session.getActiveSessionWindow()).getSQLPanelAPI().getSQLEntryPanel(); ! } ! else if(session.getActiveSessionWindow() instanceof SQLInternalFrame) ! { ! sqlEntryPanel = ((SQLInternalFrame)session.getActiveSessionWindow()).getSQLPanelAPI().getSQLEntryPanel(); ! } ! else ! { ! return; ! } ! ! AddBookmarkDialog abd = new AddBookmarkDialog(frame, plugin); GUIUtils.centerWithinParent(abd); *************** *** 96,100 **** return; ! String sql = session.getSessionInternalFrame().getSQLPanelAPI().getEntireSQLScript(); logger.info("bookmark name: " + abd.getName()); --- 118,122 ---- return; ! String sql = sqlEntryPanel.getSQLToBeExecuted(); logger.info("bookmark name: " + abd.getName()); *************** *** 112,116 **** logger.error("Problem saving bookmarks", e); } - } } --- 134,137 ---- Index: SQLBookmarkPlugin.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/SQLBookmarkPlugin.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SQLBookmarkPlugin.java 26 May 2005 00:12:58 -0000 1.4 --- SQLBookmarkPlugin.java 27 May 2005 22:49:42 -0000 1.5 *************** *** 256,271 **** { - ISQLPanelAPI sqlPaneAPI = session.getSessionInternalFrame().getSQLPanelAPI(); - CompleteBookmarkAction cba = new CompleteBookmarkAction(session.getApplication(), resources, sqlPaneAPI.getSQLEntryPanel(), session, this); - - JMenuItem item = sqlPaneAPI.addToSQLEntryAreaMenu(cba); - ActionCollection coll = getApplication().getActionCollection(); session.addSeparatorToToolbar(); session.addToToolbar(coll.get(AddBookmarkAction.class)); resources.configureMenuItem(cba, item); JComponent comp = sqlPaneAPI.getSQLEntryPanel().getTextComponent(); comp.registerKeyboardAction(cba, resources.getKeyStroke(cba), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); --- 256,271 ---- { ActionCollection coll = getApplication().getActionCollection(); session.addSeparatorToToolbar(); session.addToToolbar(coll.get(AddBookmarkAction.class)); + session.getSessionInternalFrame().addToToolsPopUp("bookmarkadd", coll.get(AddBookmarkAction.class)); + ISQLPanelAPI sqlPaneAPI = session.getSessionInternalFrame().getSQLPanelAPI(); + CompleteBookmarkAction cba = new CompleteBookmarkAction(session.getApplication(), resources, sqlPaneAPI.getSQLEntryPanel(), session, this); + JMenuItem item = sqlPaneAPI.addToSQLEntryAreaMenu(cba); resources.configureMenuItem(cba, item); JComponent comp = sqlPaneAPI.getSQLEntryPanel().getTextComponent(); comp.registerKeyboardAction(cba, resources.getKeyStroke(cba), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + session.getSessionInternalFrame().addToToolsPopUp("bookmarkselect", cba); *************** *** 275,286 **** public void sqlInternalFrameOpened(SQLInternalFrame sqlInternalFrame, ISession sess) { ! // TODO ! // Plugin supports only the main session window } public void objectTreeInternalFrameOpened(ObjectTreeInternalFrame objectTreeInternalFrame, ISession sess) { - // TODO - // Plugin supports only the main session window } }; --- 275,294 ---- public void sqlInternalFrameOpened(SQLInternalFrame sqlInternalFrame, ISession sess) { ! ActionCollection coll = getApplication().getActionCollection(); ! sqlInternalFrame.addSeparatorToToolbar(); ! sqlInternalFrame.addToToolbar(coll.get(AddBookmarkAction.class)); ! sqlInternalFrame.addToToolsPopUp("bookmarkadd", coll.get(AddBookmarkAction.class)); ! ! ISQLPanelAPI sqlPaneAPI = sqlInternalFrame.getSQLPanelAPI(); ! CompleteBookmarkAction cba = new CompleteBookmarkAction(sess.getApplication(), resources, sqlPaneAPI.getSQLEntryPanel(), sess, SQLBookmarkPlugin.this); ! JMenuItem item = sqlPaneAPI.addToSQLEntryAreaMenu(cba); ! resources.configureMenuItem(cba, item); ! JComponent comp = sqlPaneAPI.getSQLEntryPanel().getTextComponent(); ! comp.registerKeyboardAction(cba, resources.getKeyStroke(cba), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); ! sqlInternalFrame.addToToolsPopUp("bookmarkselect", cba); } public void objectTreeInternalFrameOpened(ObjectTreeInternalFrame objectTreeInternalFrame, ISession sess) { } }; Index: DefaultBookmarksFactory.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/DefaultBookmarksFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DefaultBookmarksFactory.java 26 May 2005 00:12:58 -0000 1.1 --- DefaultBookmarksFactory.java 27 May 2005 22:49:42 -0000 1.2 *************** *** 27,32 **** "ADD CONSTRAINT FK_MyParent\n" + "FOREIGN KEY (ParentPK1InChild, ParentPK2InChild)\n" + ! "REFERENCES MyParent (ParentPK1, ParentPK2)\n"} }; --- 27,34 ---- "ADD CONSTRAINT FK_MyParent\n" + "FOREIGN KEY (ParentPK1InChild, ParentPK2InChild)\n" + ! "REFERENCES MyParent (ParentPK1, ParentPK2)\n"}, + {"paramexample", "bookmark with parameters", + "SELECT * FROM MyTable WHERE MyID1 = ${Value of MyID1}\n"} }; Index: sqlbookmark.properties =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/sqlbookmark.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** sqlbookmark.properties 26 May 2005 00:12:58 -0000 1.2 --- sqlbookmark.properties 27 May 2005 22:49:42 -0000 1.3 *************** *** 20,25 **** action.net.sourceforge.squirrel_sql.plugins.sqlbookmark.CompleteBookmarkAction.image= ! action.net.sourceforge.squirrel_sql.plugins.sqlbookmark.CompleteBookmarkAction.name=Complete bookmark ! action.net.sourceforge.squirrel_sql.plugins.sqlbookmark.CompleteBookmarkAction.tooltip=Complete bookmark --- 20,25 ---- action.net.sourceforge.squirrel_sql.plugins.sqlbookmark.CompleteBookmarkAction.image= ! action.net.sourceforge.squirrel_sql.plugins.sqlbookmark.CompleteBookmarkAction.name=Select bookmark ! action.net.sourceforge.squirrel_sql.plugins.sqlbookmark.CompleteBookmarkAction.tooltip=Select bookmark Index: CompleteBookmarkAction.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/CompleteBookmarkAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CompleteBookmarkAction.java 26 May 2005 00:12:58 -0000 1.1 --- CompleteBookmarkAction.java 27 May 2005 22:49:42 -0000 1.2 *************** *** 46,50 **** _plugin = plugin; ! _cc = new Completor((JTextComponent)_sqlEntryPanel.getTextComponent(), plugin.getBookmarkManager(), new Color(204,255,255)); _cc.addCodeCompletorListener --- 46,50 ---- _plugin = plugin; ! _cc = new Completor((JTextComponent)_sqlEntryPanel.getTextComponent(), plugin.getBookmarkManager(), new Color(204,255,255), true); _cc.addCodeCompletorListener *************** *** 53,57 **** { public void completionSelected(CompletionInfo completion, int replaceBegin) ! {performCompletionSelected(completion, replaceBegin);} } ); --- 53,57 ---- { public void completionSelected(CompletionInfo completion, int replaceBegin) ! {performCompletionSelected(completion);} } ); *************** *** 66,82 **** ! private void performCompletionSelected(CompletionInfo completion, int replaceBegin) { Bookmark bm = ((BookmarkCompletionInfo)completion).getBookmark(); ! ! String sql = ! new RunBookmarkCommand(getApplication().getMainFrame(), _session, bm, _plugin).executeAndReturnSQL(); ! ! if(null != sql) ! { ! _sqlEntryPanel.setSelectionStart(replaceBegin); ! _sqlEntryPanel.setSelectionEnd(_sqlEntryPanel.getCaretPosition()); ! _sqlEntryPanel.replaceSelection(sql); ! } } } \ No newline at end of file --- 66,73 ---- ! private void performCompletionSelected(CompletionInfo completion) { Bookmark bm = ((BookmarkCompletionInfo)completion).getBookmark(); ! new RunBookmarkCommand(getApplication().getMainFrame(), _session, bm, _plugin, _sqlEntryPanel).execute(); } } \ No newline at end of file Index: BookmarkManager.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/BookmarkManager.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BookmarkManager.java 26 May 2005 00:12:58 -0000 1.2 --- BookmarkManager.java 27 May 2005 22:49:42 -0000 1.3 *************** *** 44,51 **** public class BookmarkManager implements ICompletorModel{ ! private static final char[] SEPARATORS = {' ', '\t', '\n' , ',', '('}; ! ! ! /** The file to save/load bookmarks to/from */ private File bookmarkFile; --- 44,48 ---- public class BookmarkManager implements ICompletorModel{ ! /** The file to save/load bookmarks to/from */ private File bookmarkFile; *************** *** 138,145 **** } ! public CompletionCandidates getCompletionCandidates(String textTillCarret) { ! String stringToParse = getStringToParse(textTillCarret); ! ArrayList ret = new ArrayList(); int maxNameLen = 0; --- 135,141 ---- } ! public CompletionCandidates getCompletionCandidates(String bookmarkNameBegin) { ! Vector ret = new Vector(); int maxNameLen = 0; *************** *** 147,151 **** { Bookmark bookmark = (Bookmark) bookmarks.get(i); ! if(bookmark.getName().startsWith(stringToParse)) { ret.add(new BookmarkCompletionInfo(bookmark)); --- 143,147 ---- { Bookmark bookmark = (Bookmark) bookmarks.get(i); ! if(bookmark.getName().startsWith(bookmarkNameBegin)) { ret.add(new BookmarkCompletionInfo(bookmark)); *************** *** 159,219 **** { candidates[i].setMaxCandidateNameLen(maxNameLen); - - } - - int replacementStart = textTillCarret.length() - stringToParse.length(); - - return new CompletionCandidates(candidates, replacementStart, ""); - } - - - private String getStringToParse(String textTillCaret) - { - - int lastIndexOfLineFeed = textTillCaret.lastIndexOf('\n'); - String lineTillCaret; - - if(-1 == lastIndexOfLineFeed) - { - lineTillCaret = textTillCaret; - } - else - { - lineTillCaret = textTillCaret.substring(lastIndexOfLineFeed); } ! String beginning = ""; ! if (0 != lineTillCaret.trim().length() && !Character.isWhitespace(lineTillCaret.charAt(lineTillCaret.length() - 1))) ! { ! String trimmedLineTillCaret = lineTillCaret.trim(); ! ! int lastSeparatorIndex = getLastSeparatorIndex(trimmedLineTillCaret); ! if (-1 == lastSeparatorIndex) ! { ! beginning = trimmedLineTillCaret; ! } ! else ! { ! beginning = trimmedLineTillCaret.substring(lastSeparatorIndex + 1, trimmedLineTillCaret.length()); ! } ! } ! ! return beginning; ! } ! ! private int getLastSeparatorIndex(String str) ! { ! int lastSeparatorIndex = -1; ! for(int i=0; i < SEPARATORS.length; ++i) ! { ! int buf = str.lastIndexOf(SEPARATORS[i]); ! if(buf > lastSeparatorIndex) ! { ! lastSeparatorIndex = buf; ! } ! } ! return lastSeparatorIndex; } - - } --- 155,161 ---- { candidates[i].setMaxCandidateNameLen(maxNameLen); } ! return new CompletionCandidates(candidates); } } Index: RunBookmarkCommand.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/plugins/sqlbookmark/src/net/sourceforge/squirrel_sql/plugins/sqlbookmark/RunBookmarkCommand.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RunBookmarkCommand.java 26 May 2005 00:12:58 -0000 1.3 --- RunBookmarkCommand.java 27 May 2005 22:49:42 -0000 1.4 *************** *** 71,76 **** /** The bookmark to run */ private Bookmark bookmark; ! /** * Ctor. * --- 71,77 ---- /** The bookmark to run */ private Bookmark bookmark; + private ISQLEntryPanel _sqlEntryPanel; ! /** * Ctor. * *************** *** 80,92 **** * @param plugin The current plugin. * * @throws IllegalArgumentException * Thrown if a <TT>null</TT> <TT>ISession</TT> or <TT>IPlugin</TT> * passed. */ ! public RunBookmarkCommand(Frame frame, ISession session, ! Bookmark bookmark, SQLBookmarkPlugin plugin) throws IllegalArgumentException { super(); ! if (session == null) { throw new IllegalArgumentException("Null ISession passed"); } --- 81,95 ---- * @param plugin The current plugin. * + * @param sqlEntryPanel * @throws IllegalArgumentException * Thrown if a <TT>null</TT> <TT>ISession</TT> or <TT>IPlugin</TT> * passed. */ ! public RunBookmarkCommand(Frame frame, ISession session, ! Bookmark bookmark, SQLBookmarkPlugin plugin, ISQLEntryPanel sqlEntryPanel) throws IllegalArgumentException { super(); ! _sqlEntryPanel = sqlEntryPanel; ! if (session == null) { throw new IllegalArgumentException("Null ISession passed"); } *************** *** 111,132 **** if(null != sql){ ! ISQLEntryPanel sqlEntryPanel = session.getSessionInternalFrame().getSQLPanelAPI().getSQLEntryPanel(); ! int caretPosition = sqlEntryPanel.getCaretPosition(); ! sqlEntryPanel.replaceSelection(sql); ! sqlEntryPanel.setCaretPosition(caretPosition + sql.length()); } } } - public String executeAndReturnSQL() { - if (session != null) { - logger.info("running sql: " + bookmark.getSql()); - return parseAndLoadSql(bookmark.getSql()); - } - else{ - return null; - } - } - /** --- 114,124 ---- if(null != sql){ ! int caretPosition = _sqlEntryPanel.getCaretPosition(); ! _sqlEntryPanel.replaceSelection(sql); ! _sqlEntryPanel.setCaretPosition(caretPosition + sql.length()); } } } /** |