HOWTO développement Sashipa

 

 Générer une application par défaut avec HSQL.

Vous souhaitez générer une application pour votre base de données, mais vous n'avez pas sous la main le SGBD de production. Ou bien Database2Sashipa ne fonctionne pas avec votre SGBD (MySQL, MS Access, ...).

 

1 - Créer la base sous HSQL

L'installation de HSQL est très simple. Vous téléchargez HSQL au format zip, vous le dézippez : c'est installé !

HSQL peut s'utiliser dans plusieurs mode, le plus simple pour nous est de l'utiliser en mode fichier (le mode par défaut). Pour lancer l'interface d'administration, exécutez <hsql-home>/demo/runManager.bat (.sh sous Linux).

La fenêtre de connexion s'ouvre alors. Dans le champ URL vous remplacez le point final par le chemin complet de votre future base de données - plus le nom de votre base. Exemple :

  jdbc:hsqldb:C:\env\hsqldb\data\BaseDemo

Cliquez sur "OK" : HSQL crées pour vous les fichiers de votre base de données s'ils n'existent pas. Dans notre cas, il créera trois fichiers dans le répertoire C:\env\hsqldb\data\, qui auront tous le nom BaseDemo avec trois extensions différentes.

Vous saisissez en haut à droite les ordres SQL "CREATE TABLE" pour créer les tables de votre base. La documentation de la syntaxe HSQL est dans <hsql-home>/doc/hsqlSyntax.html. Pensez notamment à déclarer toutes vos clefs étrangères.

En mode fichier, il ne peut y avoir qu'une connexion simultanée à votre base de données. Vous fermez donc l'application d'administration.

 

2 - Générer votre code Sashipa par défaut

Dans un shell, vous vous positionnez à la racine du melbalab. Vous devez maintenant choisir entre utiliser Database2Sashipa en ligne de commande ou avec interface graphique.

2.1 - En ligne de commande

Voici la commande :

  java -cp "melbakit.jar;C:\env\hsqldb\lib\hsqldb.jar"
           databasesashipa.Database2Sashipa -s hsqldb -db BaseDemo
           -u sa -cn C:\env\hsqldb\data\BaseDemo
           -f src_xml/BaseDemo_Auto.xml -l fr

Renommez maintenant le nouveau fichier src_xml/BaseDemo_Auto.xml en src_xml/BaseDemo.xml : votre fichier est prêt à être modifié.

Note : il est tout à fait possible (mais dangereux !) de générer directement le fichier avec le nom final (sans le suffix '_Auto'). En effet, la commande Database2Sashipa écrase le fichier précédent sans avertissement...

2.2 - Via l'interface graphique

Comme votre base de données est vide, peut-être vaut-il mieux utiliser l'interface graphique de Database2Sashipa :

  java -cp "melbakit.jar;C:\env\hsqldb\lib\hsqldb.jar"
           databasesashipa.Database2Sashipa
           -f src_xml/BaseDemo_Auto.xml -l fr -gui

Définissez alors les paramètres de connexions et cliquez sur "Scanner". Si la connexion est réussie, les tables apparaissent à gauche.

Le développement de cette interface n'est pas terminé donc vous aurez à contourner de multiples bogues. Mais vous pourrez néanmoins préciser pour chaque table : le volume estimé en nombre de lignes, ainsi que les noms singuliers et pluriels de la table.

Renommez maintenant le nouveau fichier src_xml/BaseDemo_Auto.xml en src_xml/BaseDemo.xml : votre fichier est prêt à être modifié. Note : il est tout à fait possible (mais dangereux !) de générer directement le fichier avec le nom final (sans le suffix '_Auto'). En effet, Database2Sashipa écrase le fichier précédent sans avertissement...

2.3 - Une fois votre fichier généré

Une fois votre fichier généré et positionné dans le répertoire, une saine habitude est d'éditer votre fichier pour ajouter en commentaire à la fin du fichier :

  • Les diverses commandes dont vous venez de vous servir.

  • Le script SQL de création de vos tables.

Les commentaires sont au format XML comme ceci :

  <!-- 
  ... mes commandes ...
  ... mon script SQL ...
  -->

Important : les doubles tirets (--) sont interdits dans les commentaires XML.

 

3 - Compiler...

Y-a plus qu'à compiler :) Dans le Shell et toujours à partir du répertoire <melbalab-home>/, vous saisissez :

  melbabuild BaseDemo

... ce qui va vous créer un fichier <melbalab-home>/result/BaseDemo.jar

Il ne vous reste plus qu'à exécuter l'application résultat. Soit en double-cliquant dessus, soit avec la commande :

  java -jar result/BaseDemo.jar

Sous Windows, s'il vous déclame une erreur de connexion au serveur "Connection failed: cannot find the driver 'org.hsqldb.jdbcDriver'", c'est peut-être que le chemin d'accès au fichier hsqldb.jar contient un espace. Copiez alors le fichier hsqldb.jar dans le répertoire plus simple d'accès, puis modifiez le chemin dans votre fichier XML (élément driverClasspath), puis recompilez.

Dernière remarque : vous aurez peut-être une ligne vide dans certains de vos listForm. Ignorez-là : c'est un petit bogue de HSQL avec certaines requêtes. Il apparaît lorsque votre table est vide et que vous faites une une listForm avec une colonne d'agrégat.

 

4 - Pointer vers un autre SGBD

Si vous souhaitez utiliser un autre SGBD, il vous suffit de changer les informations de connexion dans l'élément dbConnection en fin de fichier, puis de recompiler.

 

© Copyright 2003 Sashipa-Melba Team. Ce document de la technologie Sashipa-Melba est sous licence GNU FDL Vous pouvez le copier et modifier librement les copies tant que cette mention apparaît clairement.