Java based IDEs (Integrated Development Environment), like Eclipse, Netbeans or JDeveloper are becoming more and more the main tool in software engineers’ everyday work. We are able to take advantage of today’s IDEs comprehensive functionality thanks to its open structure that allows universal plugins building. In my everyday work I am using SQL Developer. I was missing some simple but very useful feature – DB Jobs management – so I decided to prepare such a plugin on my own. In this post I will give you some background information about this plugin. Feel free to use it and please provide your feedback! Thanks in advance.
One plugin for all IDEs
First I would like to start with a little bit of “history”. The story began in 2002 when developer groups from the 15 biggest IT corporations (Apple, Borland, Oracle, HP, IBM etc.) started together working on one united Java standard for IDEs – JSR-198 (Java Specification Request for a Standard Extension API for Integrated Development Environments). As a result in 2006 most of the companies voted in favour of the final specification. There where many doubts about that idea but most of the IDE suppliers decided to adopt the specifications of those products.
JSR-198 is based on Java (AWT, Swing) and defines:
Access to project information
Ability to invoke common IDE dialogs (warnings, messages, errors)
Ability to add new UI components (menus, settings tabs, wizards, etc.)
Document access through a virtual file system
Interaction with the compiler and debugger
A common manifest file-format for specifying plugin parameters
Ability to add new document types
and many more…
Today some additional extensions SDKs (Software Development Kit) based on JSR-198 are available like:
Oracle JDeveloper Extensions SDK
These SDKs allow developers to build their own extensions in an easy way and it enables them to use them together with any JSR-198 based IDE.
IDE plugin in pratice
In my everyday work I am using SQL Developer – from a technical point of view that tool is nothing else than a specific customization of the JDeveloper IDE and it can easily be extended with Oracle JDeveloper Extensions SDK (JSR-198).
As mentioned before I was missing some simple but useful feature – DB Jobs management – and therefore I decided to prepare such a plugin on my own. After some research I realised how easy and powerful extension for IDE building is (especially for SQL Developer). Beside the standard java based SDK Oracle prepared something called “User Defined Extensions” that allows building plugins by preparing definitions of such an IDE object as reports, actions, editors or navigators in simple XML files. At one hand this solution is limited, but on the other hand it really makes life easier when you want to extend SQL Developer with some simple feature.
Database Jobs SQL Developer plugin
This extension covers a simple functionality that is not by default supported in SQL Developer (1.5). Extension allows simple Oracle Database Jobs management. Most of the functionality has been implemented as user-defined extensions.
How to install
Extract file com.goyello.sqldevplugin.jar from gzip archive (tar -xzf plugin.gz)
Copy com.goyello.sqldevplugin.jar file into <SQLDeveloper>/sqldeveloper/extensions/
How to use it
Expand “Jobs” folder in connection navigator
Right click on selected job
Chose one of functions:
Open (shows job parameters)
Alter (changes job parameters)
Execute (executes job)
Add new (defines new job)
Remove (removes selected job)
This plugin is freeware.
You may use and redistribute this product without any charge under the GNU General Public License.
My next blog post will be a sample tutorial that will help you in creating your own extension for most Java based IDEs (especially SQL Developer). I will show you how easy and fast you can improve your IDE for additional functionalities and adapt it for your personal needs.