Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: edited the attributes of <make-value> because the map is optional (seen in different minilang scripts in OFBiz)
Alert
titleMini Lang Deprecated
typeWarning

According to the proposal thread in [1] we decided to deprecate mini lang. For additional information please refer to the corresponding issue [2].


[1] https://s.apache.org/iS8W

[2]

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyOFBIZ-9350

Current Mini Language (minilang) Reference Guide (Version 3)

Mini-language Reference

The Apache Open For Business Project

Note

This is a draft document. It can be modified at any time by any committer. Comments on the draft should be made on the dev mailing list.

Grammar version 2 (http://ofbiz.apache.org/dtds/simple-methods-v2.xsd

...

)

...

Info

...

titleOlder versions

There are 2 older versions that you can find respectively at

Mini-Language Guide (Version 1 - Deprecated)

Mini-Language Guide (Version 2 - Deprecated)

 

Attributes

Attribute Types

Type

Description

Example

Type

Description

Example

constant

A string constant. The string may not include an expression.

name="fooMethod"

constant+expr

A string constant. The string may include an expression, but an expression-only string is not allowed.

default="${foo}Method"

expression

A UEL expression without enclosing brackets.

from="item.quantity * item.priceEach"

${expression}

A UEL expression with enclosing brackets.

default="${parameters.itemId}"

script

A short script ("scriptlet").

script="groovy:foo.bar();"

 

The <simple-method> element

Section
Column
width20%
<simple-method>
Column
Contains a block of code.

A simple method can be called in either an event context from the Control
Servlet (or another event) or in a service context through the Service
Engine, or any other component that has access to a service dispatcher.

Code Block
xml
xml

<simple-method method-name="fooMethod">
  <!-- some mini-language code goes here -->
</simple-method>
Attributes

Name

Type

Requirements

Description

Note

method-name

constant

required

A name (preferably a legal Java identifier) for this method.

Each simple method in a file must have a unique name.

short-description

constant

optional

A short description of the method.

Used for documentation.

login-required

constant

optional

Require a user login to run this method.

Defaults to "true".

use-transaction

constant

optional

Create a transaction if none exists for this thread.

Defaults to "true".

default-error-code

constant

optional

The default error return code.

Defaults to "error".

default-success-code

constant

optional

The default success return code.

Defaults to "success".

event-request-object-name

constant

optional

The name of the field containing the javax.servlet.ServletRequest object.

Defaults to "request".

event-response-object-name

constant

optional

The name of the field containing the javax.servlet.ServletResponse object.

Defaults to "response".

event-session-object-name

constant

optional

The name of the field containing the javax.servlet.http.HttpSession object.

Defaults to "session".

event-response-code-name

constant

optional

The name of the field containing the event response code.

Defaults to "_response_code_".

event-error-message-name

constant

optional

The name of the field containing the event error message.

Defaults to "_error_message_".

event-error-message-list-name

constant

optional

The name of the field containing the event message list.

Defaults to "_error_message_list_".

event-event-message-name

constant

optional

The name of the field containing the event message.

Defaults to "_event_message_".

event-event-message-list-name

constant

optional

The name of the field containing the event message list.

Defaults to "_event_message_list_".

service-response-message-name

constant

optional

The name of the field containing the service response message.

Defaults to "responseMessage".

service-error-message-name

constant

optional

The name of the field containing the service error message.

Defaults to "errorMessage".

service-error-message-list-name

constant

optional

The name of the field containing the service error message list.

Defaults to "errorMessageList".

service-error-message-map-name

constant

optional

The name of the field containing the service error message map.

Defaults to "errorMessageMap".

service-success-message-name

constant

optional

The name of the field containing the service success message.

Defaults to "successMessage".

service-success-message-list-name

constant

optional

The name of the field containing the service success message list.

Defaults to "successMessageList".

Note
titleDraft Status

Final draft.

...

 

Child Elements

Name

Requirements

 

(Any block of code)

optional

 

 

Assignment Operations

Assignment operations modify the script's state.

Section
Column
width20%
<add-error>
Column
Adds a message to the error message list.
Code Block
xml
xml

<add-error>
  <fail-message message="There was an error" />
</add-error>
Attributes

Name

Type

Requirements

Description

Note

error-list-name

constant

optional

The name of a list that will contain the message.

Defaults to "error_list".

 

Child Elements

One of the following child elements is required:

Final draft.

Name

 

<fail-message>(question)

(?) (https://cwiki.apache.org/OFBADMIN/mini-language-reference.html#Mini-languageReference-{{}})

<fail-property>

(question)

Note
titleDraft Status

(?) (https://cwiki.apache.org/OFBADMIN/mini-language-reference.html#Mini-languageReference-{{}})

Section
Column
width20%
<clear
<alt-
field>
permission>
Attributes
Column
Declares an alternate permission (<check-permission> sub-element).

Alternate permissions are checked when the primary permission check fails.

Sets the value of the specified field to null.
Code Block
xmlxml

<clear-field field="foo" />

Name

Type

Requirements

Description

Note

fieldpermission

constant, ${expression}

required

The name of the field to removepermission to check.

 

Note
titleDraft Status

action

constant, ${expression}

optional

The action to be performed (permission scope).

Examples: "_ADMIN", "_CREATE", "_UPDATE"

Final draft

.

Final draft.
Section
Column
width20%
<create-object>
<assert>
Attributes
Column
Adds an error message to the error message list for each condition that evaluates to false.
Creates an instance of the specified class.

The string and field sub-elements are passed to the constructor method as arguments in the order they are specified.
A runtime exception will be thrown if the sub-elements do not match the constructor method arguments.

Code Block
xmlxml

<create-object field="foo" class-name="com.acme.FooClass">
  <string value="bar" />
  <field field="foo" />
</create-object>

Name

Type

Requirements

Description

Note

fieldtitle

constant, ${expression}

requiredoptional

The name of the field for the new object.

 

title of the assert operation.

The title is used in test reports.

error-listclass-name

constant

requiredoptional

The Java class namename of a list that will contain the message.

Defaults to "error_list".

 

Child Elements

Name

Requirements

 

<field>

optional

(question)

<string>

optional

(question)

Warning

Deprecated - use the <script> element.

Note
titleDraft Status

Any <condition> child element

(?) (https://cwiki.apache.org/OFBADMIN/mini-language-reference.html#Mini-languageReference-{{}})

Section
Column
width20%
<fail
<check-
message>
id>
<add-error> <fail-message message="There was an error." /> </add-error>

Attributes
Column
Evaluates the specified field, and adds an error message to the error message list if the field's value is not a valid data source ID value.

Valid IDs can be any sequence of characters or digits, but they must not contain the following characters: space [ ], double quote ["], single quote ['], ampersand [&], question mark [?], less-than sign [<]\, greater-than sign [>], forward-slash [/], back-slash [\ ].

Declares an error message.
Code Block
xmlxml

Name

Type

Requirements

Description

Note

messagefield

constant+exprexpression

requiredoptional

The message textname of the field to test.

 

Note
titleDraft Status

Final draft.

Section
Column
width20%
<fail-property>

error-list-name

constant

optional

The name of a list that will contain the message.

Defaults to "error_list".

 

Child Elements

One of the following child elements is required:

Name

 

<fail-message>

(?) (https://cwiki.apache.org/OFBADMIN/mini-language-reference.html#Mini-languageReference-{{}})

<fail-property>

(?) (https://cwiki.apache.org/OFBADMIN/mini-language-reference.html#Mini-languageReference-{{}})

Declares an error message found in a properties file.

Attributes

Section
Column
width20%
<check-permission>
Column
Checks if the user has the specified permission, and adds an error message to the error message list if the user does not have the specified permission.

Note that this element must be followed by the <check-errors> element for it to do anything meaningful

Column
Code Block
xmlxml

<add-error>
  <fail-property resource="ErrorMessages" property="FooError" />
</add-error>

Name

Type

Requirements

Description

Note

resource

constant

required

The name of the resource where the message can be found.

 

property

constant

required

The message property key.