Changed behaviour from Vers. 2019.5 to Vers. 2019.6

0 votes
asked Jul 12, 2019 in Question / help by Ralf N.

Hi all.

I am using PlantUML as MediaWiki extension and noticed some change after updating.

I have the follwing definitions:
!define PUB +{method}
!define PRV -{method}

!define Service(   id, name, type = "Standard-Service" )  class   "<b>ID: name</b>"  as id << (S,White) type >>  #CCFFCC
!define Channel(   id, name, type = "Channel"          )  package "<b>ID: name</b>"  as id << type >>            #White
!define Action(    id, name, type = "Standard-Action"  )  class   "<b>name</b>"      as id << (A,White) type >>  #FEFECE
!define Extension( id, name, type = "Extension"        )  class   "<b>TYP: name</b>" as id << (E,White) type >>  #LightCyan

skinparam lineType ortho
skinparam packageStyle rect

hide empty fields
hide empty methods

and i am using it while processing
  Action( Chn_SST310_VERBRAUCH_GET.Act_10_77, "SST310 Debug" , org.b2bbp.runtime.actions.internal.SetPropertyAction ) {
    Position / ID = 10 / 77 
    execute = true
    PUB baseMessage = ${template(&(this.B3P_BASE_MESSAGE))}
    PRV RemoteAdress = ${velo(%context.REQUEST_CONTEXT.getServletRequest().getRemoteAddr())}
    PUB requestContext = ${template(&(this.REQUEST_CONTEXT))}
    PUB requestMethod = ${template(&(this.REQUEST_METHOD))}
    PRV ServiceID = ${template(&(this.B3P_BASE_SERVICE_ID))}

This works well with Vers. 2019.5, but starting with Vers. 2019.6 i am getting
an error message on processing the line


Function not found Extension

So it looks like the defined Macro 'Extension' and the text 'loadExtension' collide now in some way,
which was not the case before.

Can someone please give me some hints, or is this a bug?


1 Answer

0 votes
answered Jul 12, 2019 by plantuml (257,860 points)
commented Jul 16, 2019 by anonymous
Yes, it's working with the beta version.

Thanks for the quick help.
I just didn't realize the change to the new preprocessor.
commented Jul 16, 2019 by plantuml (257,860 points)
Well, we've tried to make this change as transparent as possible for users. The preprocessor is nowadays so widely used that is was difficult to have something 100% backward compatible.

In your case, it was really a bug on our side.

The new preprocessor is cleaner than the old one and offers new great features.

BTW, this issue is also fixed in last official release 1.2019.8