Forum Programmation.python Problème Jython et beans

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
juil.
2008
Bonjour,

je tente de faire tourner JasperReport (un générateur de pdf) avec jython, et ca marche tant que j'utilise le constructeur utilisant une HashMap()

Si j'utilise parcontre le constructeur censé recevoir une collection de beans en argument, il plante en me disant qu'il n'arrive pas à accéder aux méthodes du bean.

Le code parait pourtant simple :

========
import java
from java.lang import System
from java.util import HashMap
from net.sf.jasperreports.engine import JREmptyDataSource,JRException,JasperCompileManager,JasperExportManager,JasperFillManager,JasperPrint,JasperReport
from net.sf.jasperreports.view import JasperViewer

from net.sf.jasperreports.engine.data import JRBeanCollectionDataSource


class Personne(java.lang.Object):
def __init__(self,prenom,age):
self.prenom = prenom
self.age = int(age)

def getPrenom(self):
"@sig public String getPrenom()"
return self.prenom

def getAge(self):
"@sig public int getAge()"
return self.age


data = java.util.ArrayList()
pers = Personne("Henri",24)
data.add(pers)
pers = Personne("Paul",26)
data.add(pers)


jasperReport = JasperCompileManager.compileReport("/home/cho7/jython/Test.jrxml")
jasperPrint = JasperFillManager.fillReport(jasperReport, HashMap(), JRBeanCollectionDataSource(data))
JasperViewer.viewReport(jasperPrint)
=====

Qu'est-ce que je rate ?

Je suppute donc une mauvaise compréhension de ma part de comment marche jython (car j'ai jamais eu de problème avec python ou java :)
  • # Plus de précision

    Posté par  (site web personnel) . Évalué à 1.

    Pour la postérité, je rajoute l'exception levée par jasper...

    net.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.JRException
    : Error retrieving field value from bean : prenom

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.