Add-In SQL*Developer / *+ Track 1 */

Ce thread est le premier d’un ensemble plus vaste destiné à décrire comment développer des Add-Ins pour SQL Developer. Pour plus d’informations, reportez-vous aux sites suivants :

Dans ce qui suit nous allons développer une première Add-In pour présenter les outils, le principe et les premiers détails. Cette Add-in est largement inspirée de l’exemple HelloX (Inclus dans l’ESDK) qui ajoute un Assistant nommé « HelloX » dans le menu « New… | General | Projects » de JDeveloper.

Les outils pour développer et tester
Pour développer, nous allons utiliser Jdeveloper 10.1.3.2. On pourrait biensûr utiliser n’importe quel IDE Java mais on peut installer simplement un ensemble de démonstration. Pour l’installer, téléchargez-le depuis OTN, décompressez-le dans un répertoire que nous appellerons $JDEV_HOME et lancez le grâce au programme $JDEV_HOME/jdev/bin/jdev sous unix/linux ou %JDEV_HOME%/jdeveloper.exe sous Windows.

Nous allons ensuite installer ESDK qui contient un ensemble d’exemple d’Add-In JDeveloper. SQL Developer étant basé sur le même IDE, les exemples sont généralement valables pour SQL Developer également. Pour installer les exemples et la documentation associées, sélectionnez le menu « Help | Check for Updates… ». Passez l’assistant et sélectionnez l’ESDK. Il faut redémarrer JDeveloper pour qu’il soit pris en compte.

Remarques :

  • Si vous avez un proxy pour vous connecter à Internet, configurer votre proxy dans le menu « Tools | Préférence… | Web Browser and Proxy »
  • Si vous ne pouvez pas vous connecter à Internet, vous pouvez toujours télécharger le fichier ESDK.zip (por la version 10.1.3) à l’adresse suivante et décompresser son contenu dans le répertoire $JDEV_HOME/jdev/extensions avant de redémarrer JDeveloper.

Une fois l’ESDK installé, vous pouvez installer les exemples en sélectionnant le menu : « Help | Open Extension Samples ». L’ensemble des exemples s’affichent. Attention, si vous les déployés, ils seront installés dans $JDEV_HOME/jdev/extensions et automatiquement intégré à JDeveloper !

Pour tester, nous allons utiliser SQL Developer 1.1. Pour l’installer, téléchargez-le depuis OTN, décompressez-le dans un répertoire que nous appellerons $SQLDEV_HOME et lancez le grâce au programme $SQLDEV_HOME/sqldeveloper.sh sous unix/linux ou %SQLDEV_HOME%/sqldeveloper.exe sous Windows.

Développer une Add-In simple
Nous allons développer une première Add-In simple en nous inspirant du projet extensionsdkHelloX. Cette Add-In ajoute un assistant dans le menu « New…| » de SQL Developer qui affiche simplement une fenêtre. Nous allons procéder par l’ensemble des étapes suivantes :

1°) Créer une application et un projet
Sélectionner le menu « File | New… | General | Application » et cliquer sur « OK »
Donner le nom addins-application à votre application (Ne selectionnez pas de template)
Donner le nom addin01 au projet.

2°) Ajouter la bibliothèque Java « JDeveloper Extension SDK » au projet
Sélectionner le projet addin01 et avec le menu contextuel (bouton droit de la souris, sélectionner « project properties… »
Sélectionner « Libraries » et cliquez sur le bouton « Add Libraries ».
Sélectionner « JDeveloper Extension SDK » et cliquez sur OK.
Déselectionner la case à cocher « Export » comme dans la copie d’écran ci-dessous:

Cliquer sur « OK » pour valider vos modifications.

3°) Créer une classe de type Wizard
Sélectionner le projet créé précedemment
Sélectionner le menu « File | New… | General | Java Class » et cliquer sur « OK »
Donnez lui les informations suivantes :
Name : addin01
Package : arkzoyd.sqldeveloper.addins
Extends : oracle.ide.wizard.Wizard
Public : coché
Generate Default Constructor : non coché
Generate Main Method : non coché

4°) Ajouter une icône dans le même répertoire que la classe java. On utiliser la même icone que celle de HelloX que vous pouvez télécharger ici (addin01.gif). Ajouter le fichier dans le répertoire de votre projet. Dans le sous répertoire src/arkzoyd/sqldeveloper/addins.
Pour importer l’image dans le projet, sélectionner le projet avec le menu contextuel (Bouton droit de la souris) l’option « Project Properties… ». Dans l’option Project Content | Resource, cliquez sur le bouton « Add » et Ajoutez le fichier addin01.gif aux ressources
. Le fichier addin01.gif apparaît dans l’arborescence du projet.

5°) Ajoutez les propriétés suivantes à la classe addin01.java
private static final String WIZARD_NAME = « Addin01 »;
private static final String ICON_NAME = « addin01.gif »;
private icon image = null;

6°) Ajoutez les méthodes qui suivent à la classe addin01.java pour implémenter la classe Wizard :

public String getShortLabel() {
return WIZARD_NAME;
}

public boolean isAvailable(Context context) {
return true;
}

public boolean invoke(Context ctx) {
if (!isAvailable(ctx)) return false;
JOptionPane.showMessageDialog(null, « Addin01 OK! », WIZARD_NAME,
JOptionPane.INFORMATION_MESSAGE);
return true;
}

public Icon getIcon() {
if (image == null) {
image = GraphicsUtils.createImageIcon(
GraphicsUtils.loadFromResource(ICON_NAME, this.getClass()));
}
return image;
}

Ajouter les imports en conséquence. Le fichier addin01.java est disponible ici.

7°) Ajouter un fichier extension.xml dans le répertoire META-INF. Pour cela :
Sélectionner le projet et sélectionner « File | New… | Général | XML | XML Document ».
Le nommer extension.xml et le mettre dans le sous-répertoire src/META-INF du projet.
Le contenu du fichier est disponible ici.

8°) Créer un descripteur de déploiement pour installer directement le programme dans SQL Developer. Pour cela :
Selectionner le projet
Sélectionner le menu « Files | New… | General | Deployment Profiles | JAR File ».
Le nommer « addin01 »
Dans le champs JAR Files, changez le répertoire pour le mettre dans $SQLDEV_HOME/ide/extensions/arkzoyd.sqldeveloper.addins.addin01.jar ou %SQLDEV_HOME%sqldeveloperextensionsarkzoyd.sqldeveloper.addins.addin01.jar (Le nom du JAR doit correspondre au nom de l’Add-In dans le fichier extension.xml)

Déployer et utiliser l’Add-In…
1°) Sélectionner le fichier Addin01.deploy ;
avec le menu contextuel sélectionner « Deploy to JAR File »

2°) Lancer SQL*Developer. Si vous sélectionnez « File | New… | Database Tier | ArKZoYd »
, vous voyez le nouvel assistant Addin01 comme sur la capture d’écran ci-dessous. Si vous sélectionnez l’assistant et cliquez sur OK une fenêtre d’information indiquant « Addin01 OK! » s’affiche.


Dans les prochains threads, je commenterai d’autres aspects du développement d’Add-In pour SQL*Developer. C’est donc à suivre…

-GarK!

Le projet complet est disponible ici.