Étiquette : BIRT

Cube OLAP avec Spago Studio 5.1

Voici les différentes étapes à suivre afin de créer un cube OLAP:

  • Tout d’abord, un cube OLAP se base sur une table de faits et une ou plusieurs tables de dimensions (la table de fait doit contenir les clés (étrangères) de toutes les tables de dimensions)
  • Avant même de vouloir commencer à créer un cube OLAP il faut s’assurer de la connexion à la base de donnée :
    Nous allons ici suivre pas à pas la création d’un cube OLAP avec le Spago Studio 5.1

Lire plus

Birt 4.2 et la gestion des images

    Birt 4.2 ne veut que du 96 ?

birt 4.2 72dpi photoshopEn passant à Birt 4.2 pour l’édition de documents nous nous sommes rendu compte que la gestion des images était sensiblement différente d’avec les versions précédentes.

Birt 4.2 contrairement à ses prédécesseurs prend exactement la taille de l’image spécifiée en cm/pouces. Autrement dit pour la taille d’un logo standard de 450px de large, on se retrouve avec un logo imprimé avec une taille de 3,81cm pour une haute résolution de 300dpi (pixels par pouce), mais le même logo de 450px en résolution 72dpi (le standard du web) aura une largeur de 15,88cm une fois imprimé, là où avant Birt se servait de la taille en pixel en imprimant toujours avec la même résolution.

Lire plus

Lire un fichier dont on ne connaît pas l’encodage

Lorsque l’on développe une application, on est souvent amené à lire des fichiers provenant de diverses sources (utilisateurs, autres programmes,…), et dont on ne connaît pas forcément le format, notamment l’encodage.

Java ne fournit pas en standard de moyen de détecter l’encodage d’un fichier, mais grâce aux nombreuses librairies externes disponibles, il est possible de résoudre ce problème.

Nous avons, pour notre part choisi d’utiliser la librairie ICU, développée par IBM, et ce pour plusieurs raisons :

  • c’est une librairie très répandue, et utilisée par de nombreux projets majeurs (gage de sa fiabilité)
  • elle est distribuée sous une licence open source non restrictive, et soutenue par IBM (gage de sa pérennité)
  • nous utilisons BIRT à l’intérieur de notre application, qui dépend lui-même d’ICU, et nous avions donc déjà cette librairie au sein de notre projet.

Voici comment nous l’utilisons dans l’application :

String fileName = "...";
final CharsetDetector detector = new CharsetDetector();
detector.setText(new BufferedInputStream (new FileInputStream(fileName)));
Reader fileReader = detector.detect().getReader();

En faisant cela, nous obtenons donc un reader classique java, qui nous permettra de lire le fichier sans se préoccuper de l’encodage, et de ne pas avoir de problème avec le traitement des caractères non ASCII.
Dans cet exemple, l’utilisation d’un BufferredInputStream est nécessaire, en effet, ICU va lire une partie du fichier pour déterminer l’encodage, puis revenir au début du fichier grâce à la méthode reset() lorsqu’on lui demande un reader, méthode que l’on ne peut pas utiliser sur un FileInputStream.

Loading...
X