Fehler beim Erzeugen von Reports nach verinice-Update

Zwischen den verinice-Versionen 1.14 und 1.15 gab es einige Änderungen, die dazu führen, dass alte Reports teilweise nicht mehr ausgeführt werden können. Es erscheint dann eine Fehlermeldung dieser Art in der Log-Datei:

sernet.verinice.interfaces.report.ReportTypeException: org.eclipse.birt.report.engine.api.EngineException: Cannot get the result set metadata.
    org.eclipse.datatools.connectivity.oda.OdaException ;
    Sourced file: inline evaluation of: `` import sernet.gs.ui.rcp.main.service.crudcommands.*; // set top level element f . . . '' : Unknown class: LoadPolymorphicCnAElementById : at Line: 14 : in file: inline evaluation of: `` import sernet.gs.ui.rcp.main.service.crudcommands.*; // set top level element f . . . '' : new LoadPolymorphicCnAElementById ( new Integer [ ] { 

Dies betrifft in der Regel nur einige, angepasste Reports, da die mitgelieferten Templates entsprechend angepasst wurden. Diese können wie folgt mit den neueren verinice-Versionen kompatibel gemacht werden:

Die Reportvorlagen sind Textdateien die mit einem Texteditor bearbeitet werden können, dort müssen einige Zeichenketten durch andere erstezt werden. Zum Beispiel werden alle Imports
import sernet.gs.ui.rcp.main.service.crudcommands.*; zu import sernet.verinice.service.commands.crud.*;.
Die einzelnen Änderungen lauten wie folgt:

alt neu
sernet.gs.ui.rcp.main.service.crudcommands sernet.verinice.service.commands.crud
IRiskAnalysisService RiskAnalysisHelper
AssetValueAdapter ProtectionRequirementsValueAdapter
RiskAnalysisServiceImpl RiskAnalysisHelperImpl
sernet.verinice.iso27k.service.RiskAnalysisHelper sernet.verinice.service.risk.RiskAnalysisHelper
sernet.verinice.iso27k.service.Retriever sernet.gs.service.Retriever
getVertraulichkeit getConfidentiality
getIntegritaet getIntegrity
getVerfuegbarkeit getAvailability
<property name="outputFormat">SVG</property>1) <property name="outputFormat">PNG</property>

1) Diese Änderung ist nur notwendig, wenn der Report in der Version 1.18.0 ausgeführt werden soll.

Die einzelnen Änderungen müssen jeweils für alle Vorkommen der Zeichenketten durchgeführt werden, es sind jedoch nicht notwendigerweise alle Zeichenketten aus “alt” in jedem Report enthalten.
Zur Sicherheit sollten vorher Kopien der alten Vorlagen gemacht werden.

1 Like