Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > BIRT
BIRT Forum d'entraide sur BIRT (Business Intelligence and Reporting Tools). Avant de poster --> FAQ BIRT,Tutoriels BIRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/06/2011, 12h36   #1
Invité de passage
 
Inscription : mai 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 9
Points : 1
Points : 1
Par défaut Modifier fichier .rptlibrary

Bonjour,
Je travaille avec BIRT dans mon projet de génération de rapports. j'ai effectué plusieurs rapports .rptdesign et j'importe les paramètres de connexion depuis un fichier .rptlibrary. J'aimerai parametrer ce fichier .rptlibrary à partir d'une classe JAVA afin qu'il soit portable et facile à utiliser. Comment modifier les paramètres de connexion d'un fichier .rptlibrary ou .rptdesign depuis une classe JAVA ?

Merci d'avance !

Telesphore
telesphore1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2011, 14h17   #2
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bonjour,

Voir FAQ, la question est clairement répondu pour tous les types de sources de données : http://business-intelligence.develop.../?page=donnees
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 11h05   #3
Invité de passage
 
Inscription : mai 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 9
Points : 1
Points : 1
Bonjour,
Merci BIM de me répondre aussi vite. j'ai été sur le lien que vous m'avez donné, mais je n'y ai pas trouvé la réponse à ma question. Je la reformule: Peut-on modifier à l'aide d'une classe JAVA les paramètres de connexion d'un fichier d'extension .rptlibrary?

Avec ce fichier .rptlibrary, je n'ai plus besoin de configurer la connexion à la Base de données des fichiers .rptdesign, j'ai juste besoin de configurer les connexions à la base de données du fichier .rptlibrary et cela se repercute aussitôt sur les fichiers .rptdesign.

Merci !

Telesphore
telesphore1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 11h29   #4
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Bon, j'ai déjà travaillé sur un cas similaire donc j'ai des bouts de code qui pourrait t'aider.

Par contre, j'ai quand même une question :
Est-ce que tu veux modifier ton DataSource au lancement du rapport ou le modifier de façon définitive en enregistrant le rptlibrary avec les nouvelles données de connexion ?
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 12h44   #5
Invité de passage
 
Inscription : mai 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 9
Points : 1
Points : 1
Oui effectivement, je veux modifier le datasource de façon définitive en enregistrant le rptlibrary avec les nouvelles données de connexion.
Et éventuellement pouvoir réutiliser la classe JAVA en question au cas où les données de connexions changeraient afin de les remettre à jour.

Merci !
Telesphore
telesphore1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 14h15   #6
BiM
Modératrice
 
Avatar de BiM
 
Femme
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
Inscription : janvier 2005
Messages : 7 299
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

Informations forums :
Inscription : janvier 2005
Messages : 7 299
Points : 8 650
Points : 8 650
Ok, je te met un exemple :
Code Java :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.io.IOException;
 
import org.eclipse.birt.core.exception.BirtException;
import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.model.api.DataSourceHandle;
import org.eclipse.birt.report.model.api.DesignConfig;
import org.eclipse.birt.report.model.api.IDesignEngine;
import org.eclipse.birt.report.model.api.IDesignEngineFactory;
import org.eclipse.birt.report.model.api.LibraryHandle;
import org.eclipse.birt.report.model.api.SessionHandle;
import org.eclipse.birt.report.model.api.activity.SemanticException;
 
import com.ibm.icu.util.ULocale;
 
/**
 * Classe permettant de modifier le DataSource d'une librairie
 * 
 * @author BiM
 */
public final class DataSourceModifier
{
	/**
	 * TODO : A mettre à jour.
	 */
	private static final String FILE_NAME = "C:\\Chemin vers ma librairie";
	private static final String DATASOURCE_NAME = "MonDataSource";
	private static final String REPORT_ENGINE = "C:\\ReportEngine\\";
 
	/**
	 * Modifies le fichier de données de test dans le fichier BIRT passé en paramètre.
	 * @param fileName Fichier BIRT à modifier
	 * @param xml Fichier de données de test
	 * @throws BirtException 
	 */
	public static void changeDataSource() throws BirtException, IOException
	{
		/* Instanciation du Design Engine */
		DesignConfig designConfig = new DesignConfig();
		designConfig.setBIRTHome(REPORT_ENGINE);
		Platform.startup(designConfig);
		IDesignEngineFactory designFactory = (IDesignEngineFactory)Platform
			.createFactoryObject(IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTORY);
		IDesignEngine designEngine = designFactory.createDesignEngine(designConfig);
		SessionHandle session = designEngine.newSessionHandle(ULocale.getDefault());
 
		/* Ouverture de la librairie */
		LibraryHandle library = session.openLibrary(FILE_NAME);
 
		/* Changement Data Source */
		DataSourceHandle dataSource = library.findDataSource(DATASOURCE_NAME);
		if (dataSource != null)
		{
			try
			{
				//TODO : Nom des propriétés à voir dans la FAQ
				dataSource.setProperty("[property_name]", value_object);
			}
			catch (SemanticException e)
			{
				System.out.println();
			}
		}
 
		/* Sauvegarde */
		library.saveAs(FILE_NAME);
		library.close();
	}
}

Précisions :
Avec BIRT 3.7, il est inutile de setter le BIRT Home.
Tu peux personnaliser cette classe pour passer plus ou moins de paramètres et faire des boucles, etc. Bref, ce n'est qu'un exemple.
__________________
__~{@ BiM - Modératrice "Business Intelligence" @}~
Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
___________.~{@ Lapine crétine @}~
BiM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/06/2011, 14h53   #7
Invité de passage
 
Inscription : mai 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 9
Points : 1
Points : 1
Merci BIM !
Je l'ai personnalisée et ça marche très bien.

Telesphore
telesphore1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h05.


 
 
 
 
Partenaires

Hébergement Web