WoozyMasta / archimate-ci-image

Archi container image for use in continuous integration pipelines
https://woozymasta.github.io/archimate-ci-image-example/?view=6213
MIT License
40 stars 23 forks source link

Render archimate report error on null properties #2

Closed joyearnaud closed 2 years ago

joyearnaud commented 2 years ago

Hi,

I'm on the latest 4.9.1-1.0.2 version,

When setting void properties field, it's generating this error:

context [/modelreport /expandFolder /_sub1 /expandFolder /_sub1 /expandFolder /_sub1 /expandFolder /_sub2 /classesFromProperties /_sub3] 1:25 internal error: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.base/java.lang.StringLatin1.charAt(Unknown Source)
    at java.base/java.lang.String.charAt(Unknown Source)
    at org.stringtemplate.v4.STGroup.getEmbeddedInstanceOf(STGroup.java:177)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:235)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeIterator(Interpreter.java:772)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:747)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeIterator(Interpreter.java:772)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:747)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeIterator(Interpreter.java:772)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:747)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeIterator(Interpreter.java:772)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:747)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeIterator(Interpreter.java:772)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:747)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.Interpreter.writeObject(Interpreter.java:742)
    at org.stringtemplate.v4.Interpreter.writeObjectNoOptions(Interpreter.java:674)
    at org.stringtemplate.v4.Interpreter._exec(Interpreter.java:285)
    at org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)
    at org.stringtemplate.v4.ST.write(ST.java:427)
    at org.stringtemplate.v4.ST.render(ST.java:497)
    at org.stringtemplate.v4.ST.render(ST.java:491)
    at org.stringtemplate.v4.ST.render(ST.java:487)
    at com.archimatetool.reports.html.HTMLReportExporter.createReport(HTMLReportExporter.java:257)
    at com.archimatetool.reports.commandline.HTMLReportProvider.run(HTMLReportProvider.java:72)
    at com.archimatetool.commandline.CentralScrutinizer.runProviderOptions(CentralScrutinizer.java:164)
    at com.archimatetool.commandline.CentralScrutinizer.start(CentralScrutinizer.java:82)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1440)
[HTMLReport] Report generated!
[Core] Saved model to '/data/gitlab-runner/builds/R1yzTdHi/0/architecture/platformasis/public/OodriveArchi.archimate'
Done. Reports saved to /data/gitlab-runner/builds/R1yzTdHi/0/architecture/platformasis/public

Build successed but no change happened.

Could it have been avoided ?

WoozyMasta commented 2 years ago

Hi. I don't know what I can do about it, because I don't modify coArchi itself in any way. I think this question should be asked here.

Have you tried to make the same report locally in your Archi, outside of the docker image, the report generation fails with the same error?