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
Channel( Chn_SST310_VERBRAUCH_GET, "SST310_VERBRAUCH_GET" ) {
  Action( Chn_SST310_VERBRAUCH_GET.Act_10_77, "SST310 Debug" , org.b2bbp.runtime.actions.internal.SetPropertyAction ) {
    Position / ID = 10 / 77 
    execute = true
    ..
    PUB _DEFAULT_ERROR_RESPONSE_TEXT = ${loadExtension(SST310_DEFAULT_ERROR_RESPONSE)}
    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

PUB _DEFAULT_ERROR_RESPONSE_TEXT = ${loadExtension(SST310_DEFAULT_ERROR_RESPONSE)}

saying
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?

greetings
 Ralf

1 Answer

0 votes
answered Jul 12, 2019 by plantuml (294,960 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 (294,960 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
...